diff --git a/src/Link.js b/src/Link.js
index 079d7be4d7e7fc7455fbc0f24708f125ba9168f3..bbf5ea574a10366b9f2d79de52562d5d0004d7c4 100644
--- a/src/Link.js
+++ b/src/Link.js
@@ -109,10 +109,17 @@ export class Link {
             linkStr = linkStr.substr(2);
         }
 
-        const [identifier, eventId] = linkStr.split("/");
+        const lastSlash = linkStr.lastIndexOf("/");
+        let identifier, eventId;
+        if (lastSlash !== -1) {
+            identifier = linkStr.substring(0, lastSlash);
+            eventId = linkStr.substring(lastSlash+1);
+        } else {
+            identifier = linkStr;
+        }
 
         let matches;
-        matches = USERID_PATTERN.exec(identifier);
+        matches = USERID_PATTERN.exec(identifier) || USERID_PATTERN.exec(`${identifier}/${eventId}`);
         if (matches) {
             const server = matches[2];
             const localPart = matches[1];