diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index a7598c2..b09e423 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -1501,11 +1501,15 @@
         return mId;
     }
 
+    void setWebView(WebView w) {
+        setWebView(w, true);
+    }
+
     /**
      * Sets the WebView for this tab, correctly removing the old WebView from
      * the container view.
      */
-    void setWebView(WebView w) {
+    void setWebView(WebView w, boolean restore) {
         if (mMainView == w) {
             return;
         }
@@ -1542,7 +1546,7 @@
             if (tc != null && tc.getOnThumbnailUpdatedListener() != null) {
                 mMainView.setPictureListener(this);
             }
-            if (mSavedState != null) {
+            if (restore && (mSavedState != null)) {
                 WebBackForwardList restoredState
                         = mMainView.restoreState(mSavedState);
                 if (restoredState == null || restoredState.getSize() == 0) {
diff --git a/src/com/android/browser/TabControl.java b/src/com/android/browser/TabControl.java
index 0668b74..993cd11 100644
--- a/src/com/android/browser/TabControl.java
+++ b/src/com/android/browser/TabControl.java
@@ -613,7 +613,7 @@
         }
         // Create a new WebView. If this tab is the current tab, we need to put
         // back all the clients so force it to be the current tab.
-        t.setWebView(createNewWebView());
+        t.setWebView(createNewWebView(), false);
         if (getCurrentTab() == t) {
             setCurrentTab(t, true);
         }
