diff --git a/typo3/sysext/install/Classes/Updates/SplitMenusUpdate.php b/typo3/sysext/install/Classes/Updates/SplitMenusUpdate.php
index 1813bd288fd0d63ec7ad870d15ad26a5c46d9926..6a1152770f941bf0c4e8b8aeb6c53f2370cedf53 100644
--- a/typo3/sysext/install/Classes/Updates/SplitMenusUpdate.php
+++ b/typo3/sysext/install/Classes/Updates/SplitMenusUpdate.php
@@ -39,6 +39,12 @@ class SplitMenusUpdate extends AbstractUpdate
         if ($this->isWizardDone()) {
             return false;
         }
+        $connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tt_content');
+        $tableColumns = $connection->getSchemaManager()->listTableColumns('tt_content');
+        // Only proceed if menu_type field still exists
+        if (!isset($tableColumns['menu_type'])) {
+            return false;
+        }
         $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tt_content');
         $queryBuilder->getRestrictions()->removeAll()->add(GeneralUtility::makeInstance(DeletedRestriction::class));
         $elementCount = $queryBuilder->count('uid')