diff --git a/netbone/filters.py b/netbone/filters.py
index c82fcd0b527ed4c277be920e4a6cab8be83a44c4..257cf17e4c26720e754ef91453bdee2557e5a119 100644
--- a/netbone/filters.py
+++ b/netbone/filters.py
@@ -57,7 +57,12 @@ def fraction_filter(backbone, value, narrate=True, secondary_property='weight',
         if narrate:
             backbone.narrate()
 
-        return nx.from_pandas_edgelist(data[:value], edge_attr=edge_properties(data))
+        if backbone.filter_on == 'Edges':
+            return nx.from_pandas_edgelist(data[:value], edge_attr=edge_properties(data))
+        else:
+            b = backbone.graph.copy()
+            b.remove_noedes_from(list(data[:value].index))
+            return b
 
     print("The accepted filters for " + backbone.method_name + " are: " + ', '.join(
         [fun.__name__ for fun in backbone.compatible_filters()]))