diff --git a/routingtable/trie.go b/routingtable/trie.go
index 21e840df990a2798a290e36e9ac5c26233a4a894..5fdc4b8cb73357740e777fd6606ffcea129972ba 100644
--- a/routingtable/trie.go
+++ b/routingtable/trie.go
@@ -37,7 +37,8 @@ func (n *node) removePath(pfx net.Prefix, p *route.Path) {
 			return
 		}
 
-		if n.route.RemovePath(p) {
+		n.route.RemovePath(p)
+		if len(n.route.Paths()) == 0 {
 			// FIXME: Can this node actually be removed from the trie entirely?
 			n.dummy = true
 		}