Index: src/settings.cpp
===================================================================
--- src/settings.cpp	(revision 13378)
+++ src/settings.cpp	(working copy)
@@ -1769,6 +1769,7 @@
 	 SDTC_BOOL(gui.pause_on_newgame,                     S,  0, false,                        STR_CONFIG_PATCHES_PAUSE_ON_NEW_GAME,           NULL),
 	  SDTC_VAR(gui.advanced_vehicle_list,     SLE_UINT8, S, MS,     1,        0,        2, 0, STR_CONFIG_PATCHES_ADVANCED_VEHICLE_LISTS,      NULL),
 	 SDTC_BOOL(gui.timetable_in_ticks,                   S,  0, false,                        STR_CONFIG_PATCHES_TIMETABLE_IN_TICKS,          NULL),
+	 SDTC_BOOL(gui.quick_goto,                           S,  0,  true,                        STR_CONFIG_PATCHES_QUICKGOTO,                   NULL),
 	  SDTC_VAR(gui.loading_indicators,        SLE_UINT8, S, MS,     1,        0,        2, 0, STR_CONFIG_PATCHES_LOADING_INDICATORS,          RedrawScreen),
 	  SDTC_VAR(gui.default_rail_type,         SLE_UINT8, S, MS,     4,        0,        6, 0, STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE,           NULL),
 	 SDTC_BOOL(gui.enable_signal_gui,                    S,  0, false,                        STR_CONFIG_PATCHES_ENABLE_SIGNAL_GUI,           CloseSignalGUI),
Index: src/lang/german.txt
===================================================================
--- src/lang/german.txt	(revision 13378)
+++ src/lang/german.txt	(working copy)
@@ -1121,6 +1121,7 @@
 STR_CONFIG_PATCHES_LOADING_INDICATORS_ALL                       :Alle Firmen
 STR_CONFIG_PATCHES_TIMETABLE_ALLOW                              :{LTBLUE}Fahrpläne für Fahrzeuge aktivieren: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_TIMETABLE_IN_TICKS                           :{LTBLUE}Zeitpläne in Ticks anstatt in Tagen anzeigen: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_QUICKGOTO                                    :{LTBLUE}Schnelles erstellen von Fahrzeugaufträgen: {ORANGE}{STRING1}
 STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE                            :{LTBLUE}Standard-Gleistyp (bei Spielbeginn/geladenem Spiel): {ORANGE}{STRING}
 STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_RAIL                       :normales Gleis
 STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_ELRAIL                     :elektrifiziertes Gleis
Index: src/lang/english.txt
===================================================================
--- src/lang/english.txt	(revision 13378)
+++ src/lang/english.txt	(working copy)
@@ -1126,6 +1126,7 @@
 STR_CONFIG_PATCHES_LOADING_INDICATORS_ALL                       :All companies
 STR_CONFIG_PATCHES_TIMETABLE_ALLOW                              :{LTBLUE}Enable timetabling for vehicles: {ORANGE}{STRING1}
 STR_CONFIG_PATCHES_TIMETABLE_IN_TICKS                           :{LTBLUE}Show timetable in ticks rather than days: {ORANGE}{STRING1}
+STR_CONFIG_PATCHES_QUICKGOTO                                    :{LTBLUE}Quick creation of vehicle orders: {ORANGE}{STRING1}
 STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE                            :{LTBLUE}Default rail type (after new game/game load): {ORANGE}{STRING1}
 STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_RAIL                       :Normal Rail
 STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_ELRAIL                     :Electrified Rail
Index: src/lang/english_US.txt
===================================================================
--- src/lang/english_US.txt	(revision 13378)
+++ src/lang/english_US.txt	(working copy)
@@ -1116,6 +1116,7 @@
 STR_CONFIG_PATCHES_LOADING_INDICATORS_ALL                       :All companies
 STR_CONFIG_PATCHES_TIMETABLE_ALLOW                              :{LTBLUE}Enable timetabling for vehicles: {ORANGE}{STRING}
 STR_CONFIG_PATCHES_TIMETABLE_IN_TICKS                           :{LTBLUE}Show timetable in ticks rather than days: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_QUICKGOTO                                    :{LTBLUE}Quick creation of vehicle orders: {ORANGE}{STRING1}
 STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE                            :{LTBLUE}Default rail type (after new game/game load): {ORANGE}{STRING}
 STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_RAIL                       :Normal Rail
 STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_ELRAIL                     :Electrified Rail
Index: src/settings_gui.cpp
===================================================================
--- src/settings_gui.cpp	(revision 13378)
+++ src/settings_gui.cpp	(working copy)
@@ -610,6 +610,7 @@
 	"gui.advanced_vehicle_list",
 	"gui.loading_indicators",
 	"gui.timetable_in_ticks",
+	"gui.quick_goto",
 	"gui.default_rail_type",
 	"gui.always_build_infrastructure",
 };
Index: src/settings_type.h
===================================================================
--- src/settings_type.h	(revision 13378)
+++ src/settings_type.h	(working copy)
@@ -71,6 +71,7 @@
 	Year   ending_year;                      ///< end of the game (just show highscore)
 	Year   colored_news_year;                ///< when does newspaper become colored?
 	bool   timetable_in_ticks;               ///< whether to show the timetable in ticks rather than days
+	bool   quick_goto;                       ///< Allow quick access to 'goto button' in vehicle orders window
 	bool   bridge_pillars;                   ///< show bridge pillars for high bridges
 	bool   auto_euro;                        ///< automatically switch to euro in 2002
 	byte   drag_signals_density;             ///< many signals density
Index: src/order_gui.cpp
===================================================================
--- src/order_gui.cpp	(revision 13378)
+++ src/order_gui.cpp	(working copy)
@@ -330,6 +330,7 @@
 			(facil = FACIL_TRUCK_STOP, 1);
 			if (st->facilities & facil) {
 				order.MakeGoToStation(st_index);
+				if (_ctrl_pressed) order.SetLoadType(OLFB_FULL_LOAD);
 				if (_settings_client.gui.new_nonstop && (v->type == VEH_TRAIN || v->type == VEH_ROAD)) order.SetNonStopType(ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS);
 				return order;
 			}
@@ -611,6 +612,25 @@
 		this->resize.step_height = 10;
 		this->selected_order = -1;
 		this->vehicle = v;
+
+		if (_settings_client.gui.quick_goto) {
+			/*
+			 *  on order window popup:
+			 *  if only 1 or 2 station order entries -> goto button is active
+			 */
+
+			int n_st = 0;
+			const Order *order;
+			FOR_VEHICLE_ORDERS(v, order) {
+				if (order->IsType(OT_GOTO_STATION)) {
+					n_st++;
+				}
+			}
+			if (n_st < 2) {
+				OrderClick_Goto(this, 0);
+			}
+		}
+
 		if (_settings_game.order.timetabling) {
 			this->widget[ORDER_WIDGET_CAPTION].right -= 61;
 		} else {
@@ -962,7 +982,8 @@
 
 			if (DoCommandP(this->vehicle->tile, this->vehicle->index + (this->OrderGetSel() << 16), cmd.Pack(), NULL, CMD_INSERT_ORDER | CMD_MSG(STR_8833_CAN_T_INSERT_NEW_ORDER))) {
 				if (this->selected_order != -1) this->selected_order++;
-				ResetObjectToPlace();
+				/* quickgoto: GoTo button stays active */
+				if (!_settings_client.gui.quick_goto) ResetObjectToPlace();
 			}
 		}
 	}
