diff --git a/module/VuFind/src/VuFind/Search/Base/Options.php b/module/VuFind/src/VuFind/Search/Base/Options.php
index 6c4fa2a3fcf5df2da094e83f74ef83527573e8ff..5c501f8ff78717070681c9f516644a82f7af8139 100644
--- a/module/VuFind/src/VuFind/Search/Base/Options.php
+++ b/module/VuFind/src/VuFind/Search/Base/Options.php
@@ -426,7 +426,10 @@ abstract class Options implements ServiceLocatorAwareInterface
      */
     public function rememberLastSort($last)
     {
-        $this->getSession()->lastSort = $last;
+        $session = $this->getSession();
+        if (!$session->getManager()->getStorage()->isImmutable()) {
+            $session->lastSort = $last;
+        }
     }
 
     /**
@@ -449,7 +452,10 @@ abstract class Options implements ServiceLocatorAwareInterface
      */
     public function rememberLastLimit($last)
     {
-        $this->getSession()->lastLimit = $last;
+        $session = $this->getSession();
+        if (!$session->getManager()->getStorage()->isImmutable()) {
+            $session->lastLimit = $last;
+        }
     }
 
     /**
@@ -472,7 +478,10 @@ abstract class Options implements ServiceLocatorAwareInterface
      */
     public function rememberLastView($last)
     {
-        $this->getSession()->lastView = $last;
+        $session = $this->getSession();
+        if (!$session->getManager()->getStorage()->isImmutable()) {
+            $session->lastView = $last;
+        }
     }
 
     /**