diff --git a/lib/modules/Array.pmod b/lib/modules/Array.pmod
index 613c30d24b83411c89661a24cea06179528a0134..f806cc9064c08f01a1325a62e6df23348fe52025 100644
--- a/lib/modules/Array.pmod
+++ b/lib/modules/Array.pmod
@@ -42,7 +42,7 @@ mixed filter(mixed arr, mixed fun, mixed ... args)
     r=([]);
     for(e=0;e<sizeof(ret);e++) if(ret[e]) r[i[e]]=v[e];
 
-    return ret;
+    return r;
   }else{
     int d;
     ret=map(arr,fun,@args);