diff --git a/src/sakia/data/repositories/nodes.py b/src/sakia/data/repositories/nodes.py
index 021d8e363bd6467cf1613ee1b252d3a838f3a486..137836c1e35ff5538098e0a72cdc24f9b7c2cd45 100644
--- a/src/sakia/data/repositories/nodes.py
+++ b/src/sakia/data/repositories/nodes.py
@@ -1,6 +1,6 @@
 import attr
 
-from duniterpy.documents import BlockUID, block_uid
+from duniterpy.documents import BlockUID, block_uid, MalformedDocumentError
 from ..entities import Node
 
 
@@ -98,7 +98,13 @@ class NodesRepo:
         c = self._conn.execute(request, tuple(values))
         datas = c.fetchall()
         if datas:
-            return [Node(*data) for data in datas]
+            nodes = []
+            for data in datas:
+                try:
+                    nodes.append(Node(*data))
+                except MalformedDocumentError:
+                    pass
+            return nodes
         return []
 
     def drop(self, node):