diff --git a/src/simutrans/gui/jump_frame.cc b/src/simutrans/gui/jump_frame.cc
index 28308950e..ab5b12f86 100644
--- a/src/simutrans/gui/jump_frame.cc
+++ b/src/simutrans/gui/jump_frame.cc
@@ -49,9 +49,19 @@ bool jump_frame_t::action_triggered( gui_action_creator_t *comp,value_t /* */)
 		// OK- Button or Enter-Key pressed
 		//---------------------------------------
 		koord my_pos;
-		sscanf(buf, "%hd,%hd", &my_pos.x, &my_pos.y);
+		const char *p = buf;
+		sscanf(p, "%hd,%hd", &my_pos.x, &my_pos.y);
+		for(  int z = 2;  *p  &&  z>0;  p++  ) {
+			if(  *p==','  ) {
+				z--;
+			}
+		}
+		int h = welt->min_hgt( my_pos );
+		if(  *p  ) {
+			sscanf(p, "%d" , &h);
+		}
 		if(welt->is_within_limits(my_pos)) {
-			koord3d k( my_pos, welt->min_hgt( my_pos ) );
+			koord3d k( my_pos, h );
 			welt->get_viewport()->change_world_position(k);
 			welt->get_zeiger()->change_pos( k );
 		}
diff --git a/src/simutrans/gui/tool_selector.cc b/src/simutrans/gui/tool_selector.cc
index 6a54a3f1b..279dba44b 100644
--- a/src/simutrans/gui/tool_selector.cc
+++ b/src/simutrans/gui/tool_selector.cc
@@ -247,7 +247,7 @@ bool tool_selector_t::infowin_event(const event_t *ev)
 			assert( xy >= tool_icon_width );
 			tool_icon_disp_start += xy;
 			if(  tool_icon_disp_start + xy > (int)tools.get_count() ) {
-				tool_icon_disp_start = tools.get_count() - xy -1;
+				tool_icon_disp_start = tools.get_count() - xy;
 			}
 			offset = scr_coord( 0, 0 );
 		}
