diff --git a/typo3/sysext/backend/Classes/Controller/SiteConfigurationController.php b/typo3/sysext/backend/Classes/Controller/SiteConfigurationController.php
index d4559035689413003d6b2c7749e1745911652080..54f7064774808f627238f71de2c0f92958c7ef31 100644
--- a/typo3/sysext/backend/Classes/Controller/SiteConfigurationController.php
+++ b/typo3/sysext/backend/Classes/Controller/SiteConfigurationController.php
@@ -556,6 +556,13 @@ class SiteConfigurationController
         }
         $newSysSiteData['languages'] = $validChildren;
 
+        // cleanup configuration
+        foreach ($newSysSiteData as $identifier => $value) {
+            if (is_array($value) && empty($value)) {
+                unset($newSysSiteData[$identifier]);
+            }
+        }
+
         return $newSysSiteData;
     }