diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/005-wireless-migration b/package/gluon-core/luasrc/lib/gluon/upgrade/005-wireless-migration
deleted file mode 100755
index fc79249bd047dcc91782ba707f2872467bdd9dc2..0000000000000000000000000000000000000000
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/005-wireless-migration
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/lua
-
-local uci = require('simple-uci').cursor()
-
--- Migration from hwmode to band (OpenWrt 21.02)
--- Use uci:foreach(), as wireless.foreach_radio() depends on band already being set
-uci:foreach('wireless', 'wifi-device', function(radio)
-	local radio_name = radio['.name']
-	local hwmode = radio.hwmode
-	if not radio.band then
-		if hwmode == '11g' or hwmode == '11ng' then
-			uci:set('wireless', radio_name, 'band', '2g')
-		elseif hwmode == '11a' or hwmode == '11na' then
-			uci:set('wireless', radio_name, 'band', '5g')
-		end
-	end
-	uci:delete('wireless', radio_name, 'hwmode')
-end)
-
-uci:save('wireless')
diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/021-interface-roles b/package/gluon-core/luasrc/lib/gluon/upgrade/021-interface-roles
index 3040341155fb652b5b9ae19db6a77c32a83bcd72..08dd778480b5a6f6891e4f1675611cc771be64c6 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/021-interface-roles
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/021-interface-roles
@@ -12,27 +12,6 @@ local roles = {
 }
 roles.single = site.interfaces.single.default_roles({unpack(roles.wan)})
 
--- Migration of Mesh-on-WAN/LAN setting from Gluon 2021.1 and older (to be removed in 2024)
---
--- Wired meshing is enabled for single interfaces if either of the settings
--- was previously enabled
-local mesh_lan_disabled = uci:get('network_gluon-old', 'mesh_lan', 'disabled')
-local mesh_wan_disabled = uci:get('network_gluon-old', 'mesh_wan', 'disabled')
-if mesh_wan_disabled == '0' then
-	util.add_to_set(roles.wan, 'mesh')
-	util.add_to_set(roles.single, 'mesh')
-elseif mesh_wan_disabled == '1' then
-	util.remove_from_set(roles.wan, 'mesh')
-	util.remove_from_set(roles.single, 'mesh')
-end
-if mesh_lan_disabled == '0' then
-	util.add_to_set(roles.lan, 'mesh')
-	util.add_to_set(roles.single, 'mesh')
-elseif mesh_lan_disabled == '1' then
-	util.remove_from_set(roles.lan, 'mesh')
-	util.remove_from_set(roles.single, 'mesh')
-end
-
 -- Migration of single to WAN/LAN or vice-versa (an interface was added or removed)
 -- We identify the WAN with the single interface in this case
 --
diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/190-preserve-wireless-channels b/package/gluon-core/luasrc/lib/gluon/upgrade/190-preserve-wireless-channels
index ee25c13087530e6ed4588f7446eb128e7c7d2d6b..c0b64de0528e295d9da39c1eec79115ab1842234 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/190-preserve-wireless-channels
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/190-preserve-wireless-channels
@@ -5,18 +5,6 @@ local uci = require('simple-uci').cursor()
 
 local preserve_channels = wireless.preserve_channels(uci)
 
--- Migrate preserve channels from pre-2022.01
-local core_wireless = uci:get_first('gluon-core', 'wireless')
-if core_wireless ~= nil then
-	local preserve_legacy = uci:get_bool('gluon-core', core_wireless, 'preserve_channels')
-	if preserve_legacy then
-		preserve_channels = true
-	end
-
-	uci:delete('gluon-core', core_wireless)
-	uci:save('gluon-core')
-end
-
 uci:section('gluon', 'wireless', 'wireless', {
 	preserve_channels = preserve_channels or false,
 })