diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl
index 44494efd28139de66aeac71bb008ac0f99f51b8c..09aed96c2be6572a1871d6c40f3ea24ece195084 100755
--- a/scripts/package-metadata.pl
+++ b/scripts/package-metadata.pl
@@ -193,12 +193,15 @@ sub mconf_depends {
 
 			$m = "select";
 			next if $only_dep;
+
+			$flags =~ /@/ or $depend = "PACKAGE_$depend";
 		} else {
 			if ($vdep = $package{$depend}->{vdepends}) {
 				$depend = join("||", map { "PACKAGE_".$_ } @$vdep);
+			} else {
+				$flags =~ /@/ or $depend = "PACKAGE_$depend";
 			}
 		}
-		$flags =~ /@/ or $depend = "PACKAGE_$depend";
 		if ($condition) {
 			if ($m =~ /select/) {
 				next if $depend eq $condition;