diff --git a/src/database/update.c b/src/database/update.c
index c8d5b5cfad85ce972f4e33cf25251184393c68b5..57e938f505675f9a1395ea3c5c416e13e4ccb1b3 100644
--- a/src/database/update.c
+++ b/src/database/update.c
@@ -49,7 +49,8 @@ __database_add_kara(volatile sqlite3 *db, const char *filename)
     sqlite3_stmt *stmt = NULL;
     long status = false, kara_id = 0;
     struct kara_metadata data;
-    char path[PATH_MAX], *saveptr = NULL, *token, *id = NULL;
+    char _path[PATH_MAX], *saveptr = NULL, *token, *id = NULL;
+    char *path = _path;
 
     /* Metadata */
     if (kara_metadata_read(&data, filename) != 0) {
@@ -62,8 +63,10 @@ __database_add_kara(volatile sqlite3 *db, const char *filename)
     /* Try to find an id in the filename, reuse of variables, it's ugly */
     path[PATH_MAX - 1] = '\0';
     memcpy(path, filename, (strlen(filename) + 1) * sizeof(char));
-    while (NULL != (token = strtok_r(path, "/", &saveptr)))
+    while (NULL != (token = strtok_r(path, "/", &saveptr))) {
         id = token;
+        path = NULL;
+    }
     size_t id_len = strspn(id, "0123456789");
     id[id_len] = '\0';  /* Replace the . of .mkv */
     STRTOL(kara_id, id, token, id_len);
@@ -184,6 +187,7 @@ database_update(volatile sqlite3 *db, const char *kara_dir, int check_timestamp)
 
         if (dir->d_type == DT_REG) {
             database_get_update(db, &db_timestamp, NULL, NULL);
+            LOG_INFO("DB", "File is '%s'", path);
             if (check_timestamp && get_mtime(path) < db_timestamp) {
                 LOG_INFO("DB", "Skip update of kara '%s' be cause of "
                          "timestamps", path);