diff --git a/mautrix_facebook/portal.py b/mautrix_facebook/portal.py
index c33c0b9e2e2c40280e34035a318623aa907c02ef..a89478621fe803d429f582e135aaa5d7f8a80574 100644
--- a/mautrix_facebook/portal.py
+++ b/mautrix_facebook/portal.py
@@ -439,7 +439,11 @@ class Portal(BasePortal):
             else:
                 puppet = p.Puppet.get_by_custom_mxid(source.mxid)
                 if puppet:
-                    await puppet.intent.ensure_joined(self.mxid)
+                    try:
+                        await puppet.intent.join_room_by_id(self.mxid)
+                    except MatrixError:
+                        self.log.debug("Failed to join custom puppet into newly created portal",
+                                       exc_info=True)
 
             in_community = await source._community_helper.add_room(source._community_id, self.mxid)
             DBUserPortal(user=source.fbid, portal=self.fbid, portal_receiver=self.fb_receiver,