diff --git a/std/player/travel.c b/std/player/travel.c
index 3e07c0a..6b55957 100644
--- a/std/player/travel.c
+++ b/std/player/travel.c
@@ -233,8 +233,9 @@
            +"reisen.\n");
  
 
-      dstr = filter( filter_objects(ship,"short"), lambda( ({'x}),
-             ({ #'==, ({#'environment, 'x}), environment() }) ) );
+      dstr = filter(ship, function int (object x) {
+                return (environment(x) == environment() && x->short());
+              });
 
       if (sizeof(dstr))
       {
@@ -365,8 +366,9 @@
       write(break_string("Dahin kannst Du mit "
            +_traveller(map_objects(ship, "name", WEM))+" gelangen.",78));
 
-      dstr = filter(filter_objects(ship,"short"),lambda( ({'x}),
-            ({ #'==, ({#'environment, 'x}), environment() }) ) );
+      dstr = filter(ship, function int (object x) {
+                return (environment(x) == environment() && x->short());
+              });
 
       if (sizeof(dstr))
       {
@@ -462,8 +464,9 @@
       write("'"+capitalize(mit)+"' koennte "
                +_traveller(map_objects(ship,"name",WER))+" sein.\n");
 
-      dstr = filter(filter_objects(ship,"short"),lambda( ({'x}),
-            ({ #'==, ({#'environment, 'x}), environment() }) ) );
+      dstr = filter(ship, function int (object x) {
+                return (environment(x) == environment() && x->short());
+              });
 
       if (sizeof(dstr))
       {
