--- peer_select.c_orig	Thu Jun 27 17:31:15 2002
+++ peer_select.c	Thu Jun 27 17:31:45 2002
@@ -296,8 +296,10 @@
 	    peerGetSomeDirect(ps);
 	if (request->flags.hierarchical || !Config.onoff.nonhierarchical_direct)
 	    peerGetSomeParent(ps);
-	if (!Config.onoff.prefer_direct)
-	    peerGetSomeDirect(ps);
+	if (!Config.onoff.prefer_direct) {
+            peerGetSomeParent(ps);
+            peerGetAllParents(ps);
+	}
 	break;
     }
     peerSelectCallback(ps);

