                 }
             }
         }
-
-        if (defaultButtonEnabled &&
-            event.keyCode == Keyboard.ENTER &&
+    }
+
+    /**
+     *  @private
+     *  Watch for ENTER key.
+     */
+    private function defaultButtonKeyHandler(event:KeyboardEvent):void
+    {
+        var sm:ISystemManager = form.systemManager;
+        if (sm.isDisplayObjectInABridgedApplication(DisplayObject(event.target)))
+            return;
+            
+        if (defaultButtonEnabled && event.keyCode == Keyboard.ENTER &&
             defaultButton && defButton.enabled)
-            //sendDefaultButtonEvent();
-            defButton.callLater(sendDefaultButtonEvent);
-    }
-
+        {
+            sendDefaultButtonEvent();
+        }
+    }
+    
     /**
      *  @private
      *  This gets called when the focus changes due to a mouse click.


    /**
     *  @private
     *  Watch for Enter key.
     */
    private function keyDownHandler(event:KeyboardEvent):void
    {

                    // trace("FM removed " + o);
                    o.removeEventListener("tabEnabledChange", tabEnabledChangeHandler);
                    o.removeEventListener("tabIndexChange", tabIndexChangeHandler);
                    focusableObjects.splice(i, 1);           
                    focusableCandidates = [];
                    calculateCandidates = true;                 
                    break;
                }
