diff --git a/packages/datastructure/prefix_trie.go b/packages/datastructure/prefix_trie.go
index a7e712a685ee52dbb9cfc323917e9d986e66553a..32e27e69265f85e8aa145765a6f4d77ac1df84fb 100644
--- a/packages/datastructure/prefix_trie.go
+++ b/packages/datastructure/prefix_trie.go
@@ -2,7 +2,6 @@ package datastructure
 
 import (
 	"bytes"
-	"fmt"
 	"sync"
 )
 
@@ -38,7 +37,6 @@ func (prefixTrie *PrefixTrie) Get(byteSequenceOrPrefix []byte) (result [][]byte)
 		if existingNode, exists := currentNode.children[byteSequenceOrPrefix[currentLevel]]; exists {
 			currentNode = existingNode
 		} else {
-			// error tried to inflate non-existing entry
 			return
 		}
 	}
@@ -46,9 +44,20 @@ func (prefixTrie *PrefixTrie) Get(byteSequenceOrPrefix []byte) (result [][]byte)
 	if currentNode.value != nil {
 		result = append(result, currentNode.value)
 	} else {
-		// traverse child elements
-		if false {
-			fmt.Println("WAS")
+		elementStack := make([]*PrefixTrie, 1)
+		elementStack[0] = currentNode
+
+		for len(elementStack) != 0 {
+			currentNode = elementStack[0]
+			elementStack = elementStack[1:]
+
+			if currentNode.value != nil {
+				result = append(result, currentNode.value)
+			} else {
+				for _, child := range currentNode.children {
+					elementStack = append(elementStack, child)
+				}
+			}
 		}
 	}
 
diff --git a/packages/datastructure/prefix_trie_test.go b/packages/datastructure/prefix_trie_test.go
index 34eb6e4fa8b6d6d24fe8b083f45f9ea36ab1a22c..9a2d09bb5bb9d4b35004cb7218cdd66be8dcba20 100644
--- a/packages/datastructure/prefix_trie_test.go
+++ b/packages/datastructure/prefix_trie_test.go
@@ -65,12 +65,6 @@ func TestPrefixTrie_Insert(t *testing.T) {
 		}
 	}
 	assert.True(t, txFound)
-
-	assert.Equal(t, true, trie.Delete(tx1Hash))
-	assert.Equal(t, false, trie.Delete(tx1Hash))
-	assert.Equal(t, true, trie.Delete(tx2Hash))
-
-	assert.Equal(t, 1, trie.GetSize())
 }
 
 func TestPrefixTrie_Get(t *testing.T) {
@@ -82,6 +76,8 @@ func TestPrefixTrie_Get(t *testing.T) {
 	trie.Insert(tx1Hash)
 	trie.Insert(tx2Hash)
 
+	assert.Equal(t, 2, len(trie.Get([]byte{})))
+
 	prefix := trie.GetPrefix(tx1Hash)
 
 	resultsByPrefix := trie.Get(prefix)