diff --git a/db/sqlite/driver.go b/db/sqlite/driver.go
index 72f74f83a80ecc935f7019c926eefb6f2d8143bc..2b00d00c70d3a94ea2f5e5f931d3386537a0c334 100644
--- a/db/sqlite/driver.go
+++ b/db/sqlite/driver.go
@@ -2,6 +2,7 @@ package sqlite
 
 import (
 	"database/sql"
+	"strings"
 	"time"
 
 	ippb "git.autistici.org/ai3/tools/iprep/proto"
@@ -30,7 +31,11 @@ type DB struct {
 }
 
 func Open(path string) (*DB, error) {
-	db, err := sqlOpen(path + "?_journal=WAL")
+	// Auto-enable SQLite WAL.
+	if !strings.Contains(path, "?") {
+		path += "?_journal=WAL"
+	}
+	db, err := sqlOpen(path)
 	if err != nil {
 		return nil, err
 	}