diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 41f4690f2d990dc79e056dbbd5385b78ca71d6fc..f26d8fa5e5db6cfb104f5f2ac29150d9b050bd4d 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -548,8 +548,13 @@ sub print_package_config_category($) {
 			$pkg->{hidden} and $title = "";
 			print "\t\t".($pkg->{tristate} ? 'tristate' : 'bool')." $title\n";
 			print "\t\tdefault y if DEFAULT_".$pkg->{name}."\n";
-			foreach my $default (split /\s*,\s*/, $pkg->{default}) {
-				print "\t\tdefault $default\n";
+			unless ($pkg->{hidden}) {
+				$pkg->{default} ||= "m if ALL";
+			}
+			if ($pkg->{default}) {
+				foreach my $default (split /\s*,\s*/, $pkg->{default}) {
+					print "\t\tdefault $default\n";
+				}
 			}
 			print mconf_depends($pkg->{name}, $pkg->{depends}, 0);
 			print mconf_depends($pkg->{name}, $pkg->{mdepends}, 0);
diff --git a/scripts/metadata.pm b/scripts/metadata.pm
index 5efef46924f66b3042531fa55eafc6669a69d4f3..6f86e67eaf250aafb89d0d1b0935918af25790a1 100644
--- a/scripts/metadata.pm
+++ b/scripts/metadata.pm
@@ -64,7 +64,6 @@ sub parse_package_metadata($) {
 			$pkg->{makefile} = $makefile;
 			$pkg->{name} = $1;
 			$pkg->{title} = "";
-			$pkg->{default} = "m if ALL";
 			$pkg->{depends} = [];
 			$pkg->{mdepends} = [];
 			$pkg->{builddepends} = [];