diff --git a/xtrn/tw2/computer.js b/xtrn/tw2/computer.js
index 752d5a77635eb7c3b835aa6d37b6ef647ceb2699..5d9abb5cc9f3aab5846089b5ba72acf2b704ed1f 100644
--- a/xtrn/tw2/computer.js
+++ b/xtrn/tw2/computer.js
@@ -65,6 +65,8 @@ function ComputerMenu()
 								console.write(" - ");
 							console.write(path[i]);
 						}
+						console.crlf();
+						console.crlf();
 					}
 				}
 				break;
diff --git a/xtrn/tw2/sectors.js b/xtrn/tw2/sectors.js
index d581dccc8d9f1b8d1f51dd75cef2e90a24e9f505..153b9f537d96e67f3f7afb347b5dca923675fcce 100644
--- a/xtrn/tw2/sectors.js
+++ b/xtrn/tw2/sectors.js
@@ -281,6 +281,7 @@ function ShortestPath(start, end)
 			if(univ[univ[pos].Warps[i]]==undefined) {
 				univ[univ[pos].Warps[i]]=sectors.Get(univ[pos].Warps[i]);
 				univ[univ[pos].Warps[i]].hops=hops;
+				univ[univ[pos].Warps[i]].from=pos;
 				if(univ[pos].Warps[i]==end)
 					return(true);
 			}
@@ -304,17 +305,9 @@ function ShortestPath(start, end)
 	}
 	ret.push(end);
 	for(i=end;i!=start;) {
-		var lasthop=i;
-		for(j=0; j<univ[i].Warps.length; j++) {
-			if(univ[univ[i].Warps[j]]!=undefined && univ[univ[i].Warps[j]].hops<univ[i].hops) {
-				i=univ[i].Warps[j];
-				if(i!=start)
-					ret.unshift(i);
-				break;
-			}
-		}
-		if(i==lasthop)
-			return(null);
+		i=univ[i].from;
+		if(i!=start)
+			ret.unshift(i);
 	}
 	return(ret);
 }