diff --git a/man/lkt.template b/man/lkt.template
index 625fa7d80fbcf5ad7a8d275076e466ea009d2bb5..2808af5dfb453f01ffa69ca6da49805f3a730efa 100644
--- a/man/lkt.template
+++ b/man/lkt.template
@@ -212,6 +212,11 @@ to bootstrap the database from a filesystem
 Update the base from the \fIKurisu\fP repo. Don't scan for new files in
 the filesystem
 .TP
+\fadmin dry-update\fP
+Dry update the base from \fIKurisu\fP. Don't modify metadata of already existing
+karas and don't delete local karas that where deleted on \fIKurisu\fP. Only add
+as unavailable new karas from \fIKurisu\fP
+.TP
 \fBadmin import\fP
 Import favorites from the \fIKurisu\fP repo. Favorites will create playlists on
 the lektor side begening with the @ character
diff --git a/src/main/lkt.c b/src/main/lkt.c
index b03d155427bcc8cadf0441aa73da0e87327142e1..2458e45e59ac16c1da294ba02f9512befbb57b93 100644
--- a/src/main/lkt.c
+++ b/src/main/lkt.c
@@ -455,6 +455,7 @@ rescan_or_update__(struct cmd_args *args, const char *cmd)
 // clang-format off
 ___just_send_with_password(rescan__, "rescan");
 ___just_send_with_password(update__, "update");
+___just_send_with_password(dry_update__, "__dry_update");
 ___just_send_with_password(import__, "__import");
 ___just_send_with_password(populate__, "__rescan");
 // clang-format on
@@ -1250,6 +1251,7 @@ static struct cmd_opt options_admin[] = {
     { .name = "restart",    .call = restart__           },
     { .name = "rescan",     .call = rescan__            },
     { .name = "update",     .call = update__            },
+    { .name = "dry-update", .call = dry_update__        },
     { .name = "populate",   .call = populate__          },
     { .name = "config",     .call = config__            },
     { .name = "import",     .call = import__            },