diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c
index 3d81f8783573bfd7589e0447d0af0ef2109fac86..ddc919fbb121c1fbd6e24821434567f01efc8c82 100644
--- a/embed/ephy-embed.c
+++ b/embed/ephy-embed.c
@@ -1008,3 +1008,11 @@ ephy_embed_detach_notification_container (EphyEmbed *embed)
     gtk_container_remove (GTK_CONTAINER (embed->overlay), g_object_ref (GTK_WIDGET (container)));
   }
 }
+
+WebKitWebViewSessionState *
+ephy_embed_get_session_state (EphyEmbed *embed)
+{
+  if (embed->delayed_state)
+    return webkit_web_view_session_state_ref (embed->delayed_state);
+  return webkit_web_view_get_session_state (embed->web_view);
+}
diff --git a/embed/ephy-embed.h b/embed/ephy-embed.h
index 5004bffcda1adf627b3ddd26cf9f2420f536991b..c79f99b0d9e60c9685af6d0f625ec66213f1e0f2 100644
--- a/embed/ephy-embed.h
+++ b/embed/ephy-embed.h
@@ -56,5 +56,7 @@ void             ephy_embed_attach_notification_container (EphyEmbed *embed);
 void             ephy_embed_detach_notification_container (EphyEmbed *embed);
 void             ephy_embed_download_started              (EphyEmbed    *embed,
                                                            EphyDownload *ephy_download);
+WebKitWebViewSessionState
+                *ephy_embed_get_session_state             (EphyEmbed *embed);
 
 G_END_DECLS
diff --git a/src/ephy-session.c b/src/ephy-session.c
index e0a7e8b9040fa05db5b7936d1ad2b176b69f95e7..42486179d9718f93115348c1c851e793f61e5467 100644
--- a/src/ephy-session.c
+++ b/src/ephy-session.c
@@ -219,7 +219,7 @@ closed_tab_new (EphyWebView    *web_view,
   tab->position = position;
   /* Takes the ownership of the tracker */
   tab->tab_view_tracker = tab_view_tracker;
-  tab->state = webkit_web_view_get_session_state (WEBKIT_WEB_VIEW (web_view));
+  tab->state = ephy_embed_get_session_state (EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW (web_view));
 
   return tab;
 }
@@ -574,7 +574,7 @@ session_tab_new (EphyEmbed   *embed,
                           !session->closing);
   session_tab->crashed = (error_page == EPHY_WEB_VIEW_ERROR_PAGE_CRASH ||
                           error_page == EPHY_WEB_VIEW_ERROR_PROCESS_CRASH);
-  session_tab->state = webkit_web_view_get_session_state (WEBKIT_WEB_VIEW (web_view));
+  session_tab->state = ephy_embed_get_session_state (EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW (web_view));
   session_tab->pinned = ephy_tab_view_get_is_pinned (tab_view, GTK_WIDGET (embed));
 
   return session_tab;