diff --git a/impl/src/main/java/org/apache/myfaces/application/jsp/JspStateManagerImpl.java b/impl/src/main/java/org/apache/myfaces/application/jsp/JspStateManagerImpl.java
index 65e5f4f..bdfaf89 100755
--- a/impl/src/main/java/org/apache/myfaces/application/jsp/JspStateManagerImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/application/jsp/JspStateManagerImpl.java
@@ -236,7 +236,7 @@
         {
             Integer serverStateId = getServerStateId((Object[]) responseStateManager.getState(facesContext, uiViewRoot.getViewId()));
 
-            Object[] stateObj = (Object[]) getSerializedViewFromServletSession(facesContext, uiViewRoot.getViewId(), serverStateId);
+            Object[] stateObj = (Object[])( (serverStateId == null)? null : getSerializedViewFromServletSession(facesContext, uiViewRoot.getViewId(), serverStateId) );
             if (stateObj == null)
             {
                  log.error("No serialized view found in server session!");
@@ -310,7 +310,7 @@
             //reconstruct tree structure from ServletSession
             Integer serverStateId = getServerStateId((Object[]) responseStateManager.getState(facesContext, viewId));
 
-            Object[] stateObj = (Object[]) getSerializedViewFromServletSession(facesContext, viewId, serverStateId);
+            Object[] stateObj = (Object[])( (serverStateId == null)? null : getSerializedViewFromServletSession(facesContext, viewId, serverStateId) );
             if (stateObj == null)
             {
                 if (log.isDebugEnabled()) log.debug("Exiting restoreTreeStructure - No serialized view found in server session!");
@@ -354,7 +354,7 @@
 
             Integer serverStateId = getServerStateId((Object[]) responseStateManager.getState(facesContext, viewId));
 
-            state = getSerializedViewFromServletSession(facesContext, viewId, serverStateId);
+            state = (serverStateId == null) ? null : getSerializedViewFromServletSession(facesContext, viewId, serverStateId);
         }
 
         UIViewRoot uiViewRoot = null;
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java
index 941efb6..9485a92 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java
@@ -187,6 +187,14 @@
         Object[] savedState = (Object[]) StateUtils.reconstruct(
                 (String) encodedState, facesContext.getExternalContext());
 
+        if (savedState == null)
+        {
+            if (log.isTraceEnabled()) {
+                log.trace("No saved state");
+            }
+            return null;
+        }
+        
         String restoredViewId = (String) savedState[VIEWID_PARAM];
 
         if (restoredViewId == null) {
