diff --git a/layout/xul/base/src/nsMenuPopupFrame.cpp b/layout/xul/base/src/nsMenuPopupFrame.cpp
index c4985720117d..9141d12ebbbf 100644
--- a/layout/xul/base/src/nsMenuPopupFrame.cpp
+++ b/layout/xul/base/src/nsMenuPopupFrame.cpp
@@ -981,9 +981,6 @@ nsMenuPopupFrame::SetPopupPosition(nsIFrame* aAnchorFrame)
parentViewWidgetOffset.x - parentPos.x;
ypos = screenViewLocY - presContext->DevPixelsToAppUnits(screenParentWidgetRect.y) -
parentViewWidgetOffset.y - parentPos.y;
-
- // once the popup is positioned on screen, it doesn't need to be positioned again
- mShouldAutoPosition = PR_FALSE;
}
// Compute info about the screen dimensions. Because of multiple monitor systems,
diff --git a/toolkit/content/tests/chrome/Makefile.in b/toolkit/content/tests/chrome/Makefile.in
index 342bbabb45cf..72a458f93184 100644
--- a/toolkit/content/tests/chrome/Makefile.in
+++ b/toolkit/content/tests/chrome/Makefile.in
@@ -56,6 +56,8 @@ _TEST_FILES = bug288254_window.xul \
test_bug331215.xul \
test_popup_preventdefault_chrome.xul \
window_popup_preventdefault_chrome.xul \
+ test_largemenu.xul \
+ window_largemenu.xul \
$(NULL)
libs:: $(_TEST_FILES)
diff --git a/toolkit/content/tests/chrome/test_largemenu.xul b/toolkit/content/tests/chrome/test_largemenu.xul
new file mode 100644
index 000000000000..fcc8927446fa
--- /dev/null
+++ b/toolkit/content/tests/chrome/test_largemenu.xul
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+ Large Menu Tests
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/toolkit/content/tests/chrome/window_largemenu.xul b/toolkit/content/tests/chrome/window_largemenu.xul
new file mode 100644
index 000000000000..986a2a47885a
--- /dev/null
+++ b/toolkit/content/tests/chrome/window_largemenu.xul
@@ -0,0 +1,140 @@
+
+
+
+
+
+ Large Menu Tests
+
+
+
+
+
+
+
+
+
+
+