diff --git a/typo3/sysext/workspaces/Classes/Hook/PreviewHook.php b/typo3/sysext/workspaces/Classes/Hook/PreviewHook.php
index d367037ae78ee16fd12cbddfe7f1cdd49a469922..a63c4753aeb423c1b467b74170bddf20733dd70d 100644
--- a/typo3/sysext/workspaces/Classes/Hook/PreviewHook.php
+++ b/typo3/sysext/workspaces/Classes/Hook/PreviewHook.php
@@ -114,6 +114,8 @@ class PreviewHook implements \TYPO3\CMS\Core\SingletonInterface
             $tempBackendUser->setBeUserByUid($this->previewConfiguration['BEUSER_uid']);
             if ($tempBackendUser->user['uid']) {
                 $tempBackendUser->unpack_uc();
+                $tempBackendUser->setTemporaryWorkspace($workspaceUid);
+                $tempBackendUser->user['workspace_id'] = $workspaceUid;
                 $tempBackendUser->fetchGroupData();
                 // Handle degradation of admin users
                 if ($tempBackendUser->isAdmin()) {
@@ -137,7 +139,7 @@ class PreviewHook implements \TYPO3\CMS\Core\SingletonInterface
                         ->execute()
                         ->fetch();
 
-                    // Either use configured workspace mount or current page id, if admin user does not have any page mounts
+                    // Either use configured workspace mount (of the workspace) or current page id
                     if (empty($tempBackendUser->groupData['webmounts'])) {
                         $tempBackendUser->groupData['webmounts'] = !empty($workspaceRecord['db_mountpoints']) ? $workspaceRecord['db_mountpoints'] : $pObj->id;
                     }