diff --git a/netbone/filters.py b/netbone/filters.py
index 01e3c45b3a9ca2a6da47ce922f43da95f3f62cd3..c82fcd0b527ed4c277be920e4a6cab8be83a44c4 100644
--- a/netbone/filters.py
+++ b/netbone/filters.py
@@ -24,7 +24,8 @@ def threshold_filter(backbone, value, narrate=True, secondary_property='weight',
     ascending = backbone.ascending
 
     if threshold_filter in backbone.compatible_filters():
-        data = data.sort_values(by=[property_name, secondary_property], ascending=[ascending, secondary_property_ascending])
+        data = data.sort_values(by=[property_name, secondary_property],
+                                ascending=[ascending, secondary_property_ascending])
 
         if narrate:
             backbone.narrate()
@@ -41,17 +42,17 @@ def threshold_filter(backbone, value, narrate=True, secondary_property='weight',
 def fraction_filter(backbone, value, narrate=True, secondary_property='weight', secondary_property_ascending=False,
                     **kwargs):
     data = backbone.to_dataframe()
-    column = backbone.property_name
-    ascending = backbone.ascending
+    filter_by = [backbone.property_name]
+    ascending = [backbone.ascending]
 
     value = math.ceil(value * len(data))
 
-    if backbone.filter_on == 'Nodes':
-        secondary_property = None
-        secondary_property_ascending = None
+    if backbone.filter_on == 'Edges':
+        filter_by.append(secondary_property)
+        ascending.append(secondary_property_ascending)
 
     if fraction_filter in backbone.compatible_filters():
-        data = data.sort_values(by=[column, secondary_property], ascending=[ascending, secondary_property_ascending])
+        data = data.sort_values(by=filter_by, ascending=ascending)
 
         if narrate:
             backbone.narrate()