diff --git a/src/editor/js/structures/graph/link.ts b/src/editor/js/structures/graph/link.ts
index b0eac9ba382f85b36c0fc1588c0fae26ab6505b3..1b6baa421f3a9d88133d954e232cdf299b5ca69a 100644
--- a/src/editor/js/structures/graph/link.ts
+++ b/src/editor/js/structures/graph/link.ts
@@ -99,6 +99,13 @@ export class Link extends GraphElement {
         link.sourceId = Number(raw.source);
         link.targetId = Number(raw.target);
 
+        // Ids successfully parsed as numbers?
+        if (isNaN(link.sourceId) || isNaN(link.targetId)) {
+            // No, fallback to string ids
+            link.sourceId = raw.source;
+            link.targetId = raw.target;
+        }
+
         return link;
     }
 }