diff --git a/doc/help/verein b/doc/help/verein
index 819b3b9..fd7a7b3 100644
--- a/doc/help/verein
+++ b/doc/help/verein
@@ -36,8 +36,8 @@
 
 1. Vorsitzender:   Xutelius
                    Henning Ullrich
-                   Dorneburgweg 7
-                   44329 Dortmund
+                   Tannenstrasse 22
+                   44225 Dortmund
 
 2. Vorsitzender:   Zaphob
                    Markus Maevus
@@ -51,8 +51,8 @@
 
 Schriftfuehrer:    Soynada
                    Annika Ullrich
-                   Dorneburgweg 7
-                   44329 Dortmund
+                   Tannenstrasse 22
+                   44225 Dortmund
                    (Offizielle Vereinsadresse
 
 Unsere Kontoverbindung:
diff --git a/std/shells/magier/fileview.c b/std/shells/magier/fileview.c
index 2fc4b2f..00a3b64 100644
--- a/std/shells/magier/fileview.c
+++ b/std/shells/magier/fileview.c
@@ -143,7 +143,7 @@
                tmp=sprintf(lstemplates.templates[OBJ],tmp); break;
              }
   }
-  if (!maxcount) return tmp+"\n";
+  if (!maxcount) return terminal_colour(tmp+"\n",lstemplates.colormap);
   return terminal_colour(sprintf("%-*s%s",(maxlen+sizeof(tmp)),tmp,
                  ((counter++)==maxcount?(counter=0,"\n"):"  ")),
                  lstemplates.colormap);
diff --git a/std/transport.c b/std/transport.c
index 75a7b82..125bea5 100644
--- a/std/transport.c
+++ b/std/transport.c
@@ -66,15 +66,27 @@
  */
 
 string _query_short()
-{ 
-  if (roomCode) return Query(P_SHORT); 
-  return 0; 
+{
+  if (roomCode) return Query(P_SHORT, F_VALUE);
+  return 0;
+}
+
+// Waehrend der Reise echt unsichtbar und nicht-interagierbar machen, ausser
+// fuer PL innerhalb des Transporters.
+// Ansonsten koennten z.B. Spieler, die im Hafen einen angelegten Transporter
+// betrachten, ihn dadurch als Referenzobjekt haben und Details am
+// unsichtbaren, reisenden Transporter betrachten.
+visible int _query_invis()
+{
+  if(!roomCode && (!PL || environment(PL) != ME))
+      return 1;
+  return Query(P_INVIS, F_VALUE);
 }
 
 mixed _query_transparent()
-{ 
+{
   if (roomCode) return Query(P_TRANSPARENT);
-  return 0; 
+  return 0;
 }
 
 static mixed *_set_route(mixed *r) { return route = r; }
