diff --git a/typo3/sysext/extbase/Classes/Persistence/Generic/Backend.php b/typo3/sysext/extbase/Classes/Persistence/Generic/Backend.php
index e7cba2f21d5b9b151c168574e8d443826c17b85e..c27076b69dc9d62cf1f5ba3f78a218ae25a5d56b 100644
--- a/typo3/sysext/extbase/Classes/Persistence/Generic/Backend.php
+++ b/typo3/sysext/extbase/Classes/Persistence/Generic/Backend.php
@@ -1092,6 +1092,9 @@ class Backend implements \TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface
         $properties = $object->_getProperties();
         foreach ($properties as $propertyName => $propertyValue) {
             $columnMap = $dataMap->getColumnMap($propertyName);
+            if ($columnMap === null) {
+                continue;
+            }
             $propertyMetaData = $classSchema->getProperty($propertyName);
             if ($propertyMetaData['cascade'] === 'remove') {
                 if ($columnMap->getTypeOfRelation() === \TYPO3\CMS\Extbase\Persistence\Generic\Mapper\ColumnMap::RELATION_HAS_MANY) {
@@ -1101,6 +1104,10 @@ class Backend implements \TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface
                 } elseif ($propertyValue instanceof \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface) {
                     $this->removeEntity($propertyValue);
                 }
+            } elseif ($dataMap->getDeletedFlagColumnName() === null
+                && $columnMap->getTypeOfRelation() === ColumnMap::RELATION_HAS_AND_BELONGS_TO_MANY
+            ) {
+                $this->deleteAllRelationsFromRelationtable($object, $propertyName);
             }
         }
     }