diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteAction.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteAction.java
index 583811d..26d2418 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteAction.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteAction.java
@@ -19,6 +19,7 @@
 import com.google.gerrit.server.CurrentUser;
 import com.google.gerrit.server.config.AllProjectsNameProvider;
 import com.google.gerrit.server.config.PluginConfigFactory;
+import com.google.gerrit.server.notedb.NotesMigration;
 import com.google.gerrit.server.permissions.PermissionBackend;
 import com.google.gerrit.server.project.ProjectResource;
 import com.google.inject.Inject;
@@ -41,7 +42,8 @@
       DeleteLog deleteLog,
       PluginConfigFactory cfgFactory,
       HideProject hideProject,
-      PermissionBackend permissionBackend) {
+      PermissionBackend permissionBackend,
+      NotesMigration migration) {
     super(
         allProjectsNameProvider,
         dbHandler,
@@ -53,7 +55,8 @@
         deleteLog,
         cfgFactory,
         hideProject,
-        permissionBackend);
+        permissionBackend,
+        migration);
   }
 
   @Override
@@ -71,4 +74,4 @@
   private boolean isAllProjects(ProjectResource rsrc) {
     return (rsrc.getControl().getProject().getNameKey().equals(allProjectsName));
   }
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java
index bd8e519..85680d9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java
@@ -30,6 +30,7 @@
 import com.google.gerrit.server.config.AllProjectsName;
 import com.google.gerrit.server.config.AllProjectsNameProvider;
 import com.google.gerrit.server.config.PluginConfigFactory;
+import com.google.gerrit.server.notedb.NotesMigration;
 import com.google.gerrit.server.permissions.GlobalPermission;
 import com.google.gerrit.server.permissions.PermissionBackend;
 import com.google.gerrit.server.project.ProjectResource;
@@ -62,6 +63,7 @@
   private final PluginConfigFactory cfgFactory;
   private final HideProject hideProject;
   private PermissionBackend permissionBackend;
+  private NotesMigration migration;
 
   @Inject
   DeleteProject(
@@ -75,7 +77,8 @@
       DeleteLog deleteLog,
       PluginConfigFactory cfgFactory,
       HideProject hideProject,
-      PermissionBackend permissionBackend) {
+      PermissionBackend permissionBackend,
+      NotesMigration migration) {
     this.allProjectsName = allProjectsNameProvider.get();
     this.dbHandler = dbHandler;
     this.fsHandler = fsHandler;
@@ -87,6 +90,7 @@
     this.cfgFactory = cfgFactory;
     this.hideProject = hideProject;
     this.permissionBackend = permissionBackend;
+    this.migration = migration;
   }
 
   @Override
@@ -146,7 +150,9 @@
           || !cfgFactory
               .getFromGerritConfig(pluginName)
               .getBoolean("hideProjectOnPreserve", false)) {
-        dbHandler.delete(project);
+        if (!migration.disableChangeReviewDb()) {
+          dbHandler.delete(project);
+        }
         try {
           fsHandler.delete(project, preserve);
         } catch (RepositoryNotFoundException e) {
@@ -163,4 +169,4 @@
       deleteLog.onDelete((IdentifiedUser) userProvider.get(), project.getNameKey(), input, ex);
     }
   }
-}
+}
\ No newline at end of file
