diff --git a/repos/os/doc/init.txt b/repos/os/doc/init.txt
index 8ea4245a9..b616503c9 100644
--- a/repos/os/doc/init.txt
+++ b/repos/os/doc/init.txt
@@ -220,14 +220,6 @@ As illustrated by this example, the use of the nested configuration feature
enables the construction of arbitrarily complex component trees via a single
configuration file.
-Alternatively to specifying all nested configurations in a single config file,
-any sub configuration can be placed in a separate file specified via the
-'configfile' node. For example:
-!
-!
-!
-!
-
Assigning subsystems to CPUs
============================
diff --git a/repos/os/src/init/config.xsd b/repos/os/src/init/config.xsd
index d53101fd0..3246d4d6b 100644
--- a/repos/os/src/init/config.xsd
+++ b/repos/os/src/init/config.xsd
@@ -174,12 +174,6 @@
-
-
-
-
-
-
diff --git a/repos/os/src/lib/sandbox/child.cc b/repos/os/src/lib/sandbox/child.cc
index 5361665ea..f13c92454 100644
--- a/repos/os/src/lib/sandbox/child.cc
+++ b/repos/os/src/lib/sandbox/child.cc
@@ -458,29 +458,7 @@ Sandbox::Child::resolve_session_request(Service::Name const &service_name,
Session::Diag{false} };
/*
- * \deprecated the support for the tag will
- * be removed
- */
- if (_start_node->xml().has_sub_node("configfile")) {
-
- typedef String<50> Name;
- Name const rom =
- _start_node->xml().sub_node("configfile")
- .attribute_value("name", Name());
-
- /* prevent infinite recursion */
- if (rom == "config") {
- error("configfile must not be named 'config'");
- throw Service_denied();
- }
-
- return resolve_session_request(service_name,
- prefixed_label(name(), rom));
- }
-
- /*
- * If there is neither an inline '' nor a
- * '' node present, we apply the regular session
+ * If there is no inline '', we apply the regular session
* routing to the "config" ROM request.
*/
}