diff --git a/packages/ezflow_extension/ezextension/ezflow/classes/ezflowoperations.php b/packages/ezflow_extension/ezextension/ezflow/classes/ezflowoperations.php
index ff93c04..5a3da4f 100644
--- a/packages/ezflow_extension/ezextension/ezflow/classes/ezflowoperations.php
+++ b/packages/ezflow_extension/ezextension/ezflow/classes/ezflowoperations.php
@@ -128,11 +128,22 @@ public static function updateBlockPoolByBlockID( $block, $publishedBeforeOrAt =
     /**
      * Do all time based operations on block pool such as rotation, updating
      * the queue, overflow as well as executes fetch interfaces.
-     * 
+     *
      * @static
      */
     public static function update( $nodeArray = array() )
     {
+        // log in user as anonymous if another user is logged in
+        $currentUser = eZUser::currentUser();
+        if ( $currentUser->isLoggedIn() )
+        {
+            $loggedInUser = $currentUser;
+            $anonymousUserId = eZUser::anonymousId();
+            $anonymousUser = eZUser::instance( $anonymousUserId );
+            eZUser::setCurrentlyLoggedInUser( $anonymousUser, $anonymousUserId );
+            unset( $currentUser, $anonymousUser, $anonymousUserId );
+        }
+
         include_once( 'kernel/classes/ezcontentcache.php' );
 
         $ini = eZINI::instance( 'block.ini' );
@@ -484,11 +495,16 @@ public static function update( $nodeArray = array() )
             }
         }
 
+        // log the previously logged in user if it was changed to anonymous earlier
+        if ( isset( $loggedInUser ) )
+        {
+            eZUser::setCurrentlyLoggedInUser( $loggedInUser, $loggedInUser->attribute( 'contentobject_id' ) );
+        }
     }
 
     /**
      * Clean up removed items from pool
-     * 
+     *
      * @static
      * @return integer Number of removed items from pool
      */
