diff --git a/src/database/queue.c b/src/database/queue.c
index 506adff264e926a82d67cbde470d410fd10aa834..5186795c81d757b9454bd09689f63b14f192c4a2 100644
--- a/src/database/queue.c
+++ b/src/database/queue.c
@@ -725,4 +725,19 @@ error:
 bool
 database_queue_seekid(sqlite3 *db, int id, int *out_pos)
 {
+    static const char *SQL_STMT = "SELECT position FROM queue_ WHERE kara_id = ? LIMIT 1";
+    int ret;
+    sqlite3_stmt *stmt;
+
+    SQLITE_PREPARE(db, stmt, SQL_STMT, error);
+    SQLITE_BIND_INT(db, stmt, 1, id, error);
+    if (SQLITE_OK != sqlite3_step(stmt)) {
+        fprintf(stderr, "database_queue_seekid: Failed: %s\n", sqlite3_errmsg(db));
+        goto error;
+    }
+    *out_pos = sqlite3_column_int(stmt, 0);
+    ret = true;
+error:
+    sqlite3_finalize(stmt);
+    return ret;
 }