diff --git a/src/database/update.c b/src/database/update.c
index e5a13b7729b83d0a33a155cddb70da05ccd41819..ffe31217e2e51803e8e750a865b037a44c16362f 100644
--- a/src/database/update.c
+++ b/src/database/update.c
@@ -12,14 +12,14 @@ ___add_kara_to_update_job(lkt_db *db, size_t id)
     char SQL[LKT_MAX_SQLITE_STATEMENT];
 
     if (id) {
-        static const char *SQL_TEMP = "INSERT INTO updates (job, kara_id) "
+        static const char *SQL_TEMP = "INSERT OR REPLACE INTO updates (job, kara_id) "
                                       "SELECT MAX(update_job), %ld FROM misc;"
                                       "UPDATE kara SET available = 1 WHERE id = %ld;";
         safe_snprintf(SQL, LKT_MAX_SQLITE_STATEMENT, SQL_TEMP, id, id);
     }
 
     else {
-        static const char *SQL_TEMP = "INSERT INTO updates (job, kara_id) "
+        static const char *SQL_TEMP = "INSERT OR REPLACE INTO updates (job, kara_id) "
                                       "SELECT MAX(update_job), last_insert_rowid() FROM misc;"
                                       "UPDATE kara SET available = 1 WHERE id = last_insert_rowid();";
         safe_strncpy(SQL, SQL_TEMP, LKT_MAX_SQLITE_STATEMENT);