diff --git a/plugins/database/parameters.go b/plugins/database/parameters.go
index c860dd8b3a2cda995b9682ce4f1143c6d84d21d6..d550522af396b7f74c34c59753670946f18806c4 100644
--- a/plugins/database/parameters.go
+++ b/plugins/database/parameters.go
@@ -9,9 +9,12 @@ const (
 	CfgDatabaseDir = "database.directory"
 	// CfgDatabaseInMemory defines whether to use an in-memory database.
 	CfgDatabaseInMemory = "database.inMemory"
+	// CfgDatabaseDirty defines whether to override the database dirty flag.
+	CfgDatabaseDirty = "database.dirty"
 )
 
 func init() {
 	flag.String(CfgDatabaseDir, "mainnetdb", "path to the database folder")
 	flag.Bool(CfgDatabaseInMemory, false, "whether the database is only kept in memory and not persisted")
+	flag.String(CfgDatabaseDirty, "", "set the dirty flag of the database")
 }
diff --git a/plugins/database/plugin.go b/plugins/database/plugin.go
index a3f4d25cd7c4e97c4869f076b5c8861cc3aa5961..4e82ec6722136edd20e6d665f57cf915d2dd2538 100644
--- a/plugins/database/plugin.go
+++ b/plugins/database/plugin.go
@@ -3,6 +3,7 @@ package database
 
 import (
 	"errors"
+	"strconv"
 	"sync"
 	"time"
 
@@ -77,6 +78,17 @@ func configure(_ *node.Plugin) {
 		log.Fatalf("Failed to check database version: %s", err)
 	}
 
+	if str := config.Node().GetString(CfgDatabaseDirty); str != "" {
+		val, err := strconv.ParseBool(str)
+		if err != nil {
+			log.Warnf("Invalid %s: %s", CfgDatabaseDirty, err)
+		} else if val {
+			MarkDatabaseUnhealthy()
+		} else {
+			MarkDatabaseHealthy()
+		}
+	}
+
 	if IsDatabaseUnhealthy() {
 		log.Fatal("The database is marked as not properly shutdown/corrupted, please delete the database folder and restart.")
 	}