diff --git a/routers/init.go b/routers/init.go
index 9d13bc9ed..f5dbfc87d 100644
--- a/routers/init.go
+++ b/routers/init.go
@@ -126,6 +126,7 @@ func GlobalInit(ctx context.Context) {
 	if !setting.InstallLock {
 		log.Fatal("Gitea is not installed")
 	}
+
 	if err := git.Init(ctx); err != nil {
 		log.Fatal("Git module init failed: %v", err)
 	}
@@ -134,6 +135,7 @@ func GlobalInit(ctx context.Context) {
 	log.Trace("AppWorkPath: %s", setting.AppWorkPath)
 	log.Trace("Custom path: %s", setting.CustomPath)
 	log.Trace("Log path: %s", setting.LogRootPath)
+	checkRunMode()
 
 	// Setup i18n
 	translation.InitLocales()
@@ -143,6 +145,12 @@ func GlobalInit(ctx context.Context) {
 	highlight.NewContext()
 	external.RegisterParsers()
 	markup.Init()
+
+	if setting.EnableSQLite3 {
+		log.Info("SQLite3 Supported")
+	} else if setting.Database.UseSQLite3 {
+		log.Fatal("SQLite3 is set in settings but NOT Supported")
+	}
 	if err := initDBEngine(ctx); err == nil {
 		log.Info("ORM engine initialization successful!")
 	} else {
@@ -175,11 +183,6 @@ func GlobalInit(ctx context.Context) {
 	}
 	eventsource.GetManager().Init()
 
-	if setting.EnableSQLite3 {
-		log.Info("SQLite3 Supported")
-	}
-	checkRunMode()
-
 	if setting.SSH.StartBuiltinServer {
 		ssh.Listen(setting.SSH.ListenHost, setting.SSH.ListenPort, setting.SSH.ServerCiphers, setting.SSH.ServerKeyExchanges, setting.SSH.ServerMACs)
 		log.Info("SSH server started on %s:%d. Cipher list (%v), key exchange algorithms (%v), MACs (%v)", setting.SSH.ListenHost, setting.SSH.ListenPort, setting.SSH.ServerCiphers, setting.SSH.ServerKeyExchanges, setting.SSH.ServerMACs)