diff --git a/typo3/sysext/backend/Classes/Module/ModuleLoader.php b/typo3/sysext/backend/Classes/Module/ModuleLoader.php
index a5eb2336f70c0a9ab08c1a33bbfedd0074a2a3ff..1bd3fbdc4fa7dd1cf0d9cc57dc3fa5e7c71c1605 100644
--- a/typo3/sysext/backend/Classes/Module/ModuleLoader.php
+++ b/typo3/sysext/backend/Classes/Module/ModuleLoader.php
@@ -284,9 +284,8 @@ class ModuleLoader
         }
         $status = true;
         if (!empty($MCONF['workspaces'])) {
-            $status = $this->BE_USER->workspace === 0 && GeneralUtility::inList($MCONF['workspaces'], 'online')
-                || $this->BE_USER->workspace === -1 && GeneralUtility::inList($MCONF['workspaces'], 'offline')
-                || $this->BE_USER->workspace > 0 && GeneralUtility::inList($MCONF['workspaces'], 'custom');
+            $status = ($this->BE_USER->workspace === 0 && GeneralUtility::inList($MCONF['workspaces'], 'online'))
+                || ($this->BE_USER->workspace > 0 && GeneralUtility::inList($MCONF['workspaces'], 'custom'));
         } elseif ($this->BE_USER->workspace === -99) {
             $status = false;
         }
diff --git a/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php b/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php
index e57e85f90e3a6023bb00e50d3a981486f0cad3c9..98d46aaf121a38ab6a197109285ea288a7364aee 100644
--- a/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php
+++ b/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php
@@ -454,7 +454,6 @@ class BackendUserAuthentication extends AbstractUserAuthentication
             !empty($conf['workspaces'])
             && ExtensionManagementUtility::isLoaded('workspaces')
             && ($this->workspace !== 0 || !GeneralUtility::inList($conf['workspaces'], 'online'))
-            && ($this->workspace !== -1 || !GeneralUtility::inList($conf['workspaces'], 'offline'))
             && ($this->workspace <= 0 || !GeneralUtility::inList($conf['workspaces'], 'custom'))
         ) {
             throw new \RuntimeException('Workspace Error: This module "' . $conf['name'] . '" is not available under the current workspace', 1294586447);
diff --git a/typo3/sysext/info/Classes/Controller/InfoModuleController.php b/typo3/sysext/info/Classes/Controller/InfoModuleController.php
index 55efdd21ce93d24cc22de6ae8d231d5d2bcadc49..682c1eb0ba2e54d5426e2d0d1a3e249dd1ee7ca8 100644
--- a/typo3/sysext/info/Classes/Controller/InfoModuleController.php
+++ b/typo3/sysext/info/Classes/Controller/InfoModuleController.php
@@ -380,9 +380,8 @@ class InfoModuleController
         if (is_array($mergeArray)) {
             $backendUser = $this->getBackendUser();
             foreach ($mergeArray as $k => $v) {
-                if (((string)$v['ws'] === '' || $backendUser->workspace === 0 && GeneralUtility::inList($v['ws'], 'online'))
-                    || $backendUser->workspace === -1 && GeneralUtility::inList($v['ws'], 'offline')
-                    || $backendUser->workspace > 0 && GeneralUtility::inList($v['ws'], 'custom')
+                if (((string)$v['ws'] === '' || ($backendUser->workspace === 0 && GeneralUtility::inList($v['ws'], 'online')))
+                    || ($backendUser->workspace > 0 && GeneralUtility::inList($v['ws'], 'custom'))
                 ) {
                     $menuArr[$k] = $this->getLanguageService()->sL($v['title']);
                 }
diff --git a/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateModuleController.php b/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateModuleController.php
index ae843fb3f3f61557475ac84294c3d67f478eb178..020d57cdba1240ffc90c61d98c37f301dd896bdc 100644
--- a/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateModuleController.php
+++ b/typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateModuleController.php
@@ -666,7 +666,9 @@ page.10.value = HELLO WORLD!
         $mergeArray = $GLOBALS['TBE_MODULES_EXT'][$modName]['MOD_MENU'][$menuKey];
         if (is_array($mergeArray)) {
             foreach ($mergeArray as $k => $v) {
-                if (((string)$v['ws'] === '' || $this->getBackendUser()->workspace === 0 && GeneralUtility::inList($v['ws'], 'online')) || $this->getBackendUser()->workspace === -1 && GeneralUtility::inList($v['ws'], 'offline') || $this->getBackendUser()->workspace > 0 && GeneralUtility::inList($v['ws'], 'custom')) {
+                if (((string)$v['ws'] === '' || ($this->getBackendUser()->workspace === 0 && GeneralUtility::inList($v['ws'], 'online')))
+                    || ($this->getBackendUser()->workspace > 0 && GeneralUtility::inList($v['ws'], 'custom'))
+                ) {
                     $menuArr[$k] = $this->getLanguageService()->sL($v['title']);
                 }
             }