diff --git a/init/Kconfig b/init/Kconfig
index 239fae49750b8f29da9c2acd571b1c7bd9782394..5b3a3942a98c461b997bd804deae877e51c1248b 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -734,7 +734,7 @@ config RELAY
 
 	  If unsure, say N.
 
-config NAMESPACES
+menuconfig NAMESPACES
 	bool "Namespaces support" if EMBEDDED
 	default !EMBEDDED
 	help
@@ -743,9 +743,10 @@ config NAMESPACES
 	  or same user id or pid may refer to different tasks when used in
 	  different namespaces.
 
+if NAMESPACES
+
 config UTS_NS
 	bool "UTS namespace"
-	depends on NAMESPACES
 	default y
 	help
 	  In this namespace tasks see different info provided with the
@@ -753,7 +754,7 @@ config UTS_NS
 
 config IPC_NS
 	bool "IPC namespace"
-	depends on NAMESPACES && (SYSVIPC || POSIX_MQUEUE)
+	depends on (SYSVIPC || POSIX_MQUEUE)
 	default y
 	help
 	  In this namespace tasks work with IPC ids which correspond to
@@ -761,7 +762,7 @@ config IPC_NS
 
 config USER_NS
 	bool "User namespace (EXPERIMENTAL)"
-	depends on NAMESPACES && EXPERIMENTAL
+	depends on EXPERIMENTAL
 	default y
 	help
 	  This allows containers, i.e. vservers, to use user namespaces
@@ -770,7 +771,6 @@ config USER_NS
 
 config PID_NS
 	bool "PID Namespaces"
-	depends on NAMESPACES
 	default y
 	help
 	  Support process id namespaces.  This allows having multiple
@@ -779,12 +779,14 @@ config PID_NS
 
 config NET_NS
 	bool "Network namespace"
-	depends on NAMESPACES && NET
+	depends on NET
 	default y
 	help
 	  Allow user space to create what appear to be multiple instances
 	  of the network stack.
 
+endif # NAMESPACES
+
 config BLK_DEV_INITRD
 	bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support"
 	depends on BROKEN || !FRV