diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 8271475..6728274 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2985,7 +2985,7 @@
     public SnapshotTab createNewSnapshotTab(long snapshotId, boolean setActive) {
         SnapshotTab tab = null;
         if (mTabControl.canCreateNewTab()) {
-            tab = mTabControl.createSnapshotTab(snapshotId);
+            tab = mTabControl.createSnapshotTab(snapshotId, null);
             addTab(tab);
             if (setActive) {
                 setActiveTab(tab);
diff --git a/src/com/android/browser/SnapshotTab.java b/src/com/android/browser/SnapshotTab.java
index 13e94b8..7471bca 100644
--- a/src/com/android/browser/SnapshotTab.java
+++ b/src/com/android/browser/SnapshotTab.java
@@ -53,9 +53,13 @@
 
     // Used for saving and restoring each Tab
     static final String SNAPSHOT_ID = "snapshotId";
+    static final String ID = "ID";
 
-    public SnapshotTab(WebViewController wvcontroller, long snapshotId) {
-        super(wvcontroller, null, null);
+
+    public SnapshotTab(WebViewController wvcontroller,
+                       long snapshotId,
+                       Bundle state) {
+        super(wvcontroller, null, state);
         mSnapshotId = snapshotId;
         mWebViewFactory = mWebViewController.getWebViewFactory();
         WebView web = mWebViewFactory.createWebView(false);
@@ -122,8 +126,8 @@
         }
 
         mSavedState = new Bundle();
+        mSavedState = super.saveState();
         mSavedState.putLong(SNAPSHOT_ID, mSnapshotId);
-
         return mSavedState;
     }
 
diff --git a/src/com/android/browser/TabControl.java b/src/com/android/browser/TabControl.java
index 2488ec2..a30cdca 100644
--- a/src/com/android/browser/TabControl.java
+++ b/src/com/android/browser/TabControl.java
@@ -242,8 +242,8 @@
         return createNewTab(false);
     }
 
-    SnapshotTab createSnapshotTab(long snapshotId) {
-        SnapshotTab t = new SnapshotTab(mController, snapshotId);
+    SnapshotTab createSnapshotTab(long snapshotId, Bundle state) {
+        SnapshotTab t = new SnapshotTab(mController, snapshotId, state);
         mTabs.add(t);
         mTabCountObservable.set(mTabs.size());
         return t;
@@ -441,7 +441,7 @@
                 Tab t = null;
                 // Add special check to restore Snapshot Tab if needed
                 if (state.getLong(SnapshotTab.SNAPSHOT_ID, -1) != -1 ) {
-                  t = (SnapshotTab) createSnapshotTab( state.getLong(SnapshotTab.SNAPSHOT_ID) );
+                  t = (SnapshotTab) createSnapshotTab( state.getLong(SnapshotTab.SNAPSHOT_ID), state);
                 } else {
                     // presume its a normal Tab
                     t = createNewTab(state, false);
