  	esac
  
  	if [ -z "$portdir" -a -z "$upg_port" ]; then
-@@ -3069,7 +3284,7 @@
+@@ -3069,7 +3286,7 @@
  
  	case "$arg2" in
  	*/*)	ro_opd=$arg2 ; ro_upg_port=`iport_from_origin $ro_opd` ;;

 		done
 
 		build_only_dl_g=" `uniquify_list $temp_bodlg` "
@@ -2636,15 +2824,23 @@
 	echo ''
 
 	for origin in $PM_URB_ORIGINS; do

+				PM_URB_LIST="${PM_URB_LIST} ${req_by}"
+			done
+		else
+			while read req_by req_by_o; do
+				case " $PM_URB_IPORTS" in *" $req_by "*) continue ;; esac
+				case " $PM_URB_ORIGINS" in *" $req_by_o "*) continue ;; esac
+				PM_URB_LIST="${PM_URB_LIST} ${req_by}"
+			done << EOF
+`pkg query "%rn-%rv %ro" ${origin}`
+EOF
+		fi
 	done
 
 	if [ -n "$PM_URB_LIST" ]; then
@@ -2656,7 +2854,11 @@
 
 	for req_by in $PM_URB_LIST; do
 		# Probably not needed, but JIC
