diff --git a/src/simutrans/tool/simtool.cc b/src/simutrans/tool/simtool.cc
index 9fee36e7c..6ceae9617 100644
--- a/src/simutrans/tool/simtool.cc
+++ b/src/simutrans/tool/simtool.cc
@@ -4103,6 +4103,18 @@ const char *tool_build_wayobj_t::do_work( player_t* player, const koord3d &start
 		}
 	}
 
+	// Images at bends can depend on way-objects built later in the route, so
+	// recalculate once the complete route is present, as done for diagonal ways.
+	if(  build  &&  desc->has_diagonal_image()  ) {
+		for(  uint32 i = 0;  i < verbindung.get_count();  i++  ) {
+			if(  grund_t *gr = welt->lookup(r[i])  ) {
+				if(  wayobj_t *wo = gr->get_wayobj(wt)  ) {
+					wo->calc_cached_image();
+				}
+			}
+		}
+	}
+
 	// Update depots (maybe remove electric tab?). Depots can only be on first and last tile.
 	if(  depot_t *dep = welt->lookup(r[0])->get_depot()  ) {
 		dep->update_win();
