diff --git a/src/simutrans/builder/wegbauer.cc b/src/simutrans/builder/wegbauer.cc
index 9f51b225e..2f0e3b0e4 100644
--- a/src/simutrans/builder/wegbauer.cc
+++ b/src/simutrans/builder/wegbauer.cc
@@ -729,7 +729,7 @@ bool way_builder_t::is_allowed_step(const grund_t *from, const grund_t *to, sint
 				return false;
 			}
 			// calculate costs
-			*costs = str ? 0 : s.way_count_straight;
+			*costs = s.way_count_straight;
 			if((str==NULL  &&  to->hat_wege())  ||  (str  &&  to->has_two_ways())) {
 				*costs += 4; // avoid crossings
 			}
@@ -761,7 +761,6 @@ bool way_builder_t::is_allowed_step(const grund_t *from, const grund_t *to, sint
 			}
 			// calculate costs
 			*costs = s.way_count_straight;
-			if (!sch) *costs += 1; // only prefer existing rails a little
 			if((sch  &&  to->has_two_ways())  ||  (sch==NULL  &&  to->hat_wege())) {
 				*costs += 4; // avoid crossings
 			}
@@ -791,7 +790,6 @@ bool way_builder_t::is_allowed_step(const grund_t *from, const grund_t *to, sint
 			if(ok) {
 				// calculate costs
 				*costs = s.way_count_straight;
-				if (!to->hat_weg(track_wt)) *costs += 1; // only prefer existing rails a little
 				// prefer own track
 				if(to->hat_weg(road_wt)) {
 					*costs += s.way_count_straight;
