diff --git a/typo3/sysext/core/Classes/Category/CategoryRegistry.php b/typo3/sysext/core/Classes/Category/CategoryRegistry.php
index d941015a3b149b90a92f012eebbb049679d540ff..0d8426149062e839e29d3e666190e92c2298dff7 100644
--- a/typo3/sysext/core/Classes/Category/CategoryRegistry.php
+++ b/typo3/sysext/core/Classes/Category/CategoryRegistry.php
@@ -279,7 +279,7 @@ class CategoryRegistry implements SingletonInterface
             }
 
             $typesList = '';
-            if (!empty($options['typesList'])) {
+            if (isset($options['typesList']) && $options['typesList'] !== '') {
                 $typesList = $options['typesList'];
             }
 
diff --git a/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php b/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php
index 724b32a00ef0130dc4ea4edbe4484526ddd3212f..5d5cd491ccc902d0fc06e2aedd129caa82f6bd14 100644
--- a/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php
+++ b/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php
@@ -46,6 +46,9 @@ class CategoryRegistryTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
                 'ctrl' => array(),
                 'columns' => array(),
                 'types' => array(
+                    '0' => array(
+                        'showitem' => ''
+                    ),
                     '1' => array(
                         'showitem' => ''
                     )
@@ -266,6 +269,16 @@ class CategoryRegistryTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
         }
     }
 
+    /**
+     * @test
+     */
+    public function tabIsOnlyAddedForTypesThatAreSpecifiedInTypesList()
+    {
+        $this->subject->add('text_extension_a', $this->tables['first'], 'categories', array('typesList' => '0'));
+        $this->subject->applyTcaForPreRegisteredTables();
+        $this->assertSame('', $GLOBALS['TCA'][$this->tables['first']]['types'][1]['showitem']);
+    }
+
     /**
      * @test
      */