diff --git a/src/base/config.c b/src/base/config.c
index 495c1b9441d9a65b0350a1213a1d9b1e7e0edb92..0d77197a2bd26160a0db45f4258b20dee0490d02 100644
--- a/src/base/config.c
+++ b/src/base/config.c
@@ -206,13 +206,13 @@ config_default_file(char *dest, size_t len)
             LOG_FATAL("Failed to get home folder for user, will now exit");
         }
         LOG_DEBUG("CONFIG", "Using HOME: %s", home);
+        safe_strncpy(dest, home, len - 1);
+        strncat(dest, "/.config/lektor/lektor.ini", len - 1 - strlen(home));
     } else {
         LOG_DEBUG("CONFIG", "Using XDG_CONFIG_HOME: %s", home);
+        safe_strncpy(dest, home, len - 1);
+        strncat(dest, "/lektor/lektor.ini", len - 1);
     }
-    safe_strncpy(dest, home, len);
-    strncat(dest, "/.config/lektor/lektor.ini", len - 1);
-    LOG_DEBUG("CONFIG", "Use '%s' insted of XDG_CONFIG_HOME", home);
-    strncat(dest, "/lektor/lektor.ini", len - 1);
 }
 
 PRIVATE_FUNCTION int