diff --git a/mozilla/layout/html/base/src/nsScrollFrame.cpp b/mozilla/layout/html/base/src/nsScrollFrame.cpp
index b823b71b153..01bcf70262b 100644
--- a/mozilla/layout/html/base/src/nsScrollFrame.cpp
+++ b/mozilla/layout/html/base/src/nsScrollFrame.cpp
@@ -34,9 +34,9 @@
static NS_DEFINE_IID(kWidgetCID, NS_CHILD_CID);
static NS_DEFINE_IID(kScrollingViewCID, NS_SCROLLING_VIEW_CID);
-static NS_DEFINE_IID(kIViewIID, NS_IVIEW_IID);
-
static NS_DEFINE_IID(kViewCID, NS_VIEW_CID);
+
+static NS_DEFINE_IID(kIViewIID, NS_IVIEW_IID);
static NS_DEFINE_IID(kScrollViewIID, NS_ISCROLLABLEVIEW_IID);
static NS_DEFINE_IID(kAreaFrameIID, NS_IAREAFRAME_IID);
@@ -169,6 +169,11 @@ nsScrollFrame::CreateScrollingView()
// inform the view manager that we have transparent content
viewManager->SetViewContentTransparency(view, PR_TRUE);
+ // XXX If it's fixed positioned, then create a widget too
+ if (NS_STYLE_POSITION_FIXED == position->mPosition) {
+ view->CreateWidget(kWidgetCID);
+ }
+
// Get the nsIScrollableView interface
nsIScrollableView* scrollingView;
view->QueryInterface(kScrollViewIID, (void**)&scrollingView);