diff --git a/lib/private/DB/MigrationService.php b/lib/private/DB/MigrationService.php
index d26337990d10b3ac80061e7a1faaddf129005bb5..269400c3ba90df1ca607d7fdcc1c1b1c0f59551f 100644
--- a/lib/private/DB/MigrationService.php
+++ b/lib/private/DB/MigrationService.php
@@ -547,7 +547,7 @@ class MigrationService {
 				if (!$isUsingDefaultName && \strlen($indexName) > 30) {
 					throw new \InvalidArgumentException('Primary index name  on "'  . $table->getName() . '" is too long.');
 				}
-				if ($isUsingDefaultName && \strlen($table->getName()) > 26) {
+				if ($isUsingDefaultName && \strlen($table->getName()) - $prefixLength > 23) {
 					throw new \InvalidArgumentException('Primary index name  on "'  . $table->getName() . '" is too long.');
 				}
 			}