diff --git a/Database Updates/010_furnidata_edit_log.sql b/Database Updates/010_furnidata_edit_log.sql
index 04603727..0aae35e0 100644
--- a/Database Updates/010_furnidata_edit_log.sql
+++ b/Database Updates/010_furnidata_edit_log.sql
@@ -32,3 +32,37 @@ INSERT IGNORE INTO `emulator_settings` (`key`,`value`) VALUES
-- Furni editor: import official names/descriptions from Habbo
('furni.editor.import.url','https://www.habbo.com/gamedata/furnidata_json/1'),
('furni.editor.import.cache.ms','600000');
+
+START TRANSACTION;
+DROP TEMPORARY TABLE IF EXISTS cleanup_furnidata_settings;
+CREATE TEMPORARY TABLE cleanup_furnidata_settings (
+ `key` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL PRIMARY KEY
+);
+INSERT INTO cleanup_furnidata_settings (`key`) VALUES
+ ('items.furnidata.names.enabled'),
+ ('items.furnidata.path'),
+ ('items.furnidata.max.bytes'),
+ ('items.furnidata.watch.enabled'),
+ ('items.furnidata.watch.debounce.ms'),
+ ('items.furnidata.watch.min.interval.ms'),
+ ('items.furnidata.delta.cap'),
+ ('furni.editor.import.url'),
+ ('furni.editor.import.cache.ms');
+
+-- Preview rows that will be removed.
+SELECT es.`key`, es.`value`
+FROM emulator_settings es
+JOIN cleanup_furnidata_settings cfs ON cfs.`key` = es.`key`
+ORDER BY es.`key`;
+
+DELETE es
+FROM emulator_settings es
+JOIN cleanup_furnidata_settings cfs ON cfs.`key` = es.`key`;
+
+-- Preview remaining matching rows inside the transaction.
+SELECT COUNT(*) AS remaining_furnidata_settings
+FROM emulator_settings es
+JOIN cleanup_furnidata_settings cfs ON cfs.`key` = es.`key`;
+
+-- Safe default. Change to COMMIT after reviewing the preview.
+ROLLBACK;
diff --git a/Database Updates/021_furnidata_config.sql b/Database Updates/021_furnidata_config.sql
deleted file mode 100644
index 87b989be..00000000
--- a/Database Updates/021_furnidata_config.sql
+++ /dev/null
@@ -1,27 +0,0 @@
--- 021_furnidata_config.sql
--- Seeds the furnidata feature config keys read at runtime by
--- FurnitureTextProvider / FurnidataReader / FurnidataWatcher and
--- FurniEditorImportTextEvent. Without these rows a fresh install logs
--- "Config key not found" for each (ConfigurationManager logs ERROR even
--- when a default is supplied) and the values are not editable from the DB.
---
--- Notes:
--- * *.enabled keys are read via Boolean.parseBoolean → use true/false (NOT 1/0).
--- * items.furnidata.path is intentionally empty: when blank the source is
--- derived from furni.editor.asset.base.path (seeded by 004_furni_editor.sql)
--- → /furnidata (split-tier) or /FurnitureData.json (single file).
--- * Editor write-path keys (items.furnidata.edit.*) are seeded by 020.
-
-INSERT IGNORE INTO `emulator_settings` (`key`,`value`) VALUES
--- Server-authoritative furni names (source of truth = furnidata JSON)
-('items.furnidata.names.enabled','true'),
-('items.furnidata.path',''),
-('items.furnidata.max.bytes','67108864'),
--- Live-reload watcher
-('items.furnidata.watch.enabled','true'),
-('items.furnidata.watch.debounce.ms','750'),
-('items.furnidata.watch.min.interval.ms','5000'),
-('items.furnidata.delta.cap','500'),
--- Furni editor: import official names/descriptions from Habbo
-('furni.editor.import.url','https://www.habbo.com/gamedata/furnidata_json/1'),
-('furni.editor.import.cache.ms','600000');