--- client/gui-gtk/dialogs.c.orig	Mon Jun 12 09:05:00 2000
+++ client/gui-gtk/dialogs.c	Sun Jun 18 19:40:35 2000
@@ -1178,19 +1178,30 @@
 {
   GtkWidget *b;
   char buf[128];
-  
+  char wonderText[128];
+
   my_snprintf(buf, sizeof(buf),
 	      _("Your caravan from %s reaches the city of %s.\nWhat now?"),
 	      phomecity->name, pdestcity->name);
   
   caravan_city_id=pdestcity->id; /* callbacks need these */
   caravan_unit_id=punit->id;
+
+  sz_strlcpy(wonderText, _("Help build _Wonder"));
+  if (unit_can_help_build_wonder(punit, pdestcity)) {
+    char buf[128];
+    int wonderShieldsLeft =
+      improvement_value(pdestcity->currently_building) -
+      pdestcity->shield_stock;
+    my_snprintf(buf, sizeof(buf), _(" (%d to go)"), wonderShieldsLeft);
+    sz_strlcat(wonderText, buf);
+  }
   
   caravan_dialog=popup_message_dialog(toplevel,
 			   /*"caravandialog"*/_("Your Caravan Has Arrived"), 
 			   buf,
 			   _("Establish _Traderoute"),caravan_establish_trade_callback, 0,
-			   _("Help build _Wonder"),caravan_help_build_wonder_callback, 0,
+			   wonderText, caravan_help_build_wonder_callback, 0,
 			   _("_Keep moving"),caravan_keep_moving_callback, 0,
 			   0);