diff --git a/package/ntfs-3g/Makefile b/package/ntfs-3g/Makefile
index d48ef3695f627253007e5cc67a9428e92217f020..314a52c0ff37b8893d6c90cf835a6fb246c12e72 100644
--- a/package/ntfs-3g/Makefile
+++ b/package/ntfs-3g/Makefile
@@ -27,7 +27,7 @@ include $(INCLUDE_DIR)/package.mk
 
 define Package/ntfs-3g
   TITLE:=NTFS-3G
-  DEPENDS:=+libfuse +fuse-utils @LINUX_2_6
+  DEPENDS:=+libfuse +fuse-utils
   SECTION:=utils
   CATEGORY:=Utilities
   DESCRIPTION:=\
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 963be3f3828250b441f2fce57cb1037eac3502f8..7514a171354e1910b445d861a32dd08981e401e0 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -341,6 +341,39 @@ sub package_depends($$) {
 	return $ret;
 }
 
+sub mconf_depends($$) {
+	my $depends = shift;
+	my $only_dep = shift;
+	my $res;
+
+	$depends or return;
+	my @depends = @$depends;
+	foreach my $depend (@depends) {
+		my $m = "depends";
+		$depend =~ s/^([@\+]+)//;
+		my $flags = $1;
+		my $vdep;
+	
+		if ($vdep = $package{$depend}->{vdepends}) {
+			$depend = join("||", map { "PACKAGE_".$_ } @$vdep);
+		} else {
+			$flags =~ /\+/ and do {
+				next if $only_dep;
+				$m = "select";
+
+				# Menuconfig will not treat 'select FOO' as a real dependency
+				# thus if FOO depends on other config options, these dependencies
+				# will not be checked. To fix this, we simply emit all of FOO's
+				# depends here as well.
+				$package{$depend} and $res .= mconf_depends($package{$depend}->{depends}, 1);
+			};
+			$flags =~ /@/ or $depend = "PACKAGE_$depend";
+		}
+		$res .= "\t\t$m $depend\n";
+	}
+	return $res;
+}
+
 sub print_package_config_category($) {
 	my $cat = shift;
 	my %menus;
@@ -394,20 +427,7 @@ sub print_package_config_category($) {
 			foreach my $default (split /\s*,\s*/, $pkg->{default}) {
 				print "\t\tdefault $default\n";
 			}
-			foreach my $depend (@{$pkg->{depends}}) {
-				my $m = "depends";
-				$depend =~ s/^([@\+]+)//;
-				my $flags = $1;
-				my $vdep;
-				
-				if ($vdep = $package{$depend}->{vdepends}) {
-					$depend = join("||", map { "PACKAGE_".$_ } @$vdep);
-				} else {
-					$flags =~ /@/ or $depend = "PACKAGE_$depend";
-					$flags =~ /\+/ and $m = "select";
-				}
-				print "\t\t$m $depend\n";
-			}
+			print mconf_depends($pkg->{depends}, 0);
 			print "\t\thelp\n";
 			print $pkg->{description};
 			print "\n";