diff --git a/src/systems/userinput/userinput.js b/src/systems/userinput/userinput.js
index 24db935c93b65cb77740257e5ca321d4bb157009..0bd3e334d9a46f1b0b94ac6ccdd6d5aa767f96fc 100644
--- a/src/systems/userinput/userinput.js
+++ b/src/systems/userinput/userinput.js
@@ -139,7 +139,8 @@ AFRAME.registerSystem("userinput", {
         this.registeredMappings.delete(isMobile ? touchscreenUserBindings : keyboardMouseUserBindings);
         // add mappings for all active VR input devices
         for (const activeDevice of this.activeDevices) {
-          this.registeredMappings.add(vrGamepadMappings.get(activeDevice.constructor));
+          const mapping = vrGamepadMappings.get(activeDevice.constructor);
+          mapping && this.registeredMappings.add(mapping);
         }
       } else {
         console.log("Using Non-VR bindings.");