diff --git a/lists/base-min.lua.m4 b/lists/base-min.lua.m4
index ad37a150c9b90d27b7d67bc7e7706673b1e1660a..6a69b7b7e3b2971847493796931d5065244b58a5 100644
--- a/lists/base-min.lua.m4
+++ b/lists/base-min.lua.m4
@@ -1,5 +1,5 @@
 include(utils.m4)dnl Include utility macros
-list_script('repository.lua')
+include(repository.m4)dnl Include Repository command
 
 -- Updater itself
 Install('updater-ng', 'updater-supervisor', { critical = true })
diff --git a/lists/base-netboot.lua.m4 b/lists/base-netboot.lua.m4
index a021913321f7a519cf6f16c07232106b87829552..34ce608d224dcad9d8bf2d3bf0d84c63517d8bad 100644
--- a/lists/base-netboot.lua.m4
+++ b/lists/base-netboot.lua.m4
@@ -1,5 +1,6 @@
 include(utils.m4)dnl Include utility macros
-list_script('repository.lua')
+include(repository.m4)dnl Include Repository command
+
 list_script('base-min.lua')
 
 _FEATURE_GUARD_
diff --git a/lists/base.lua.m4 b/lists/base.lua.m4
index 409b861bce491194b6c8c1e45a7e3baaa26eb024..f95f6358344df42ba50d81720856405190a4ad8e 100644
--- a/lists/base.lua.m4
+++ b/lists/base.lua.m4
@@ -1,5 +1,6 @@
 include(utils.m4)dnl Include utility macros
-list_script('repository.lua')
+include(repository.m4)dnl Include Repository command
+
 list_script('base-min.lua')
 
 _FEATURE_GUARD_
diff --git a/lists/repository.lua.m4 b/lists/repository.lua.m4
index 39006703ee3f6485d6e3b07dd9e9f14456de070e..880a54c01dce3d22ece40e8304ee8b34edc4261b 100644
--- a/lists/repository.lua.m4
+++ b/lists/repository.lua.m4
@@ -1,7 +1,5 @@
 include(utils.m4)dnl Include utility macros
 
-if not turris_repo_included then -- single include guard
-
 local subdirs = { "base", "core" esyscmd(`awk "/^src-git/{printf \", \\\"%s\\\"\", \$'`2}" '_FEEDS_)}
 
 if features["relative_uri"] then
@@ -26,7 +24,3 @@ for _, subdir in ipairs(subdirs) do
 			{ optional = true })
 	end
 end
-
-turris_repo_included = true
-Export('turris_repo_included')
-end
diff --git a/lists/repository.m4 b/lists/repository.m4
new file mode 100644
index 0000000000000000000000000000000000000000..1f57a6fd8b97f65321825f6780e341f943df5276
--- /dev/null
+++ b/lists/repository.m4
@@ -0,0 +1,7 @@
+dnl This is common repository include
+dnl It guards it against multiple inclusion in subscripts.
+if not turris_repo_included then
+	list_script("repository.lua")
+	turris_repo_included = true
+	Export('turris_repo_included')
+end
diff --git a/lists/utils.lua b/lists/utils.lua
deleted file mode 100644
index 5cf6d0cd76daed43f57947a6f2b82ee3e55fa9c6..0000000000000000000000000000000000000000
--- a/lists/utils.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-if not turris_utils_included then -- Multiple inclusions guard
-
-if not board then
-	model = model or os_release["LEDE_DEVICE_PRODUCT"]
-	if model:match("[Mm]ox") then
-		board = "mox"
-	elseif model:match("[Oo]mnia") then
-		board = "omnia"
-	elseif model:match("^[Tt]urris$") then
-		board = "turris1x"
-	else
-		DIE("Unsupported Turris model: " .. tostring(model))
-	end
-	Export('board')
-end
-
-turris_utils_included = true
-Export('turris_utils_included')
-end
diff --git a/lists/utils.m4 b/lists/utils.m4
index bf7e6bbdf17b80b382822e321e9124a25b897adc..b34e9d31b0332a747c0cb0ccee24153130fbcd29 100644
--- a/lists/utils.m4
+++ b/lists/utils.m4
@@ -53,5 +53,17 @@ function list_script(list)
 		Script((repo_base_uri or "https://repo.turris.cz/hbs") .. "/lists/" .. list)
 	end
 end
-list_script("utils.lua")
+
+if not board then
+	local model = model or os_release["LEDE_DEVICE_PRODUCT"]
+	if model:match("[Mm]ox") then
+		board = "mox"
+	elseif model:match("[Oo]mnia") then
+		board = "omnia"
+	elseif model:match("^[Tt]urris$") then
+		board = "turris1x"
+	else
+		DIE("Unsupported Turris model: " .. tostring(model))
+	end
+end
 ----------------------------------------------------------------------------------