diff --git a/htdocs/install/repair.php b/htdocs/install/repair.php index 8403bd44321..fc9c63e4a40 100644 --- a/htdocs/install/repair.php +++ b/htdocs/install/repair.php @@ -452,17 +452,19 @@ if ($ok && GETPOST('standard', 'alpha')) if ($obj2 && $obj2->nb == 0) { // Module not found, so we canremove entry - $sqldelete = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def WHERE file = '".$obj->file."' AND entity = ".$obj->entity; + $sqldeletea = "DELETE FROM ".MAIN_DB_PREFIX."boxes WHERE entity = ".$obj->entity." AND box_id IN (SELECT rowid FROM ".MAIN_DB_PREFIX."boxes_def WHERE file = '".$obj->file."' AND entity = ".$obj->entity.")"; + $sqldeleteb = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def WHERE file = '".$obj->file."' AND entity = ".$obj->entity; if (GETPOST('standard', 'alpha') == 'confirmed') { - $db->query($sqldelete); + $db->query($sqldeletea); + $db->query($sqldeleteb); - print '