diff --git a/src/modules/files/efuns.c b/src/modules/files/efuns.c
index b89ea31a8f093e8926a0eca3854e26b4fadc0834..18391dd90ceacc05ac97c6ecb10d8c5de673736a 100644
--- a/src/modules/files/efuns.c
+++ b/src/modules/files/efuns.c
@@ -22,7 +22,7 @@
 #include "file_machine.h"
 #include "file.h"
 
-RCSID("$Id: efuns.c,v 1.48 1998/03/28 13:58:53 grubba Exp $");
+RCSID("$Id: efuns.c,v 1.49 1998/05/17 21:06:48 grubba Exp $");
 
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
@@ -237,11 +237,15 @@ void f_filesystem_stat(INT32 args)
     push_int(st.f_ffree);
     push_text("favail");
     push_int(st.f_favail);
-    push_text("fstype");
-    push_text(st.f_basetype);
     push_text("fsname");
     push_text(st.f_fstr);
+#ifdef HAVE_STATVFS_F_BASETYPE
+    push_text("fstype");
+    push_text(st.f_basetype);
     f_aggregate_mapping(9*2);
+#else /* !HAVE_STATVFS_F_BASETYPE */
+    f_aggregate_mapping(8*2);
+#endif /* HAVE_STATVFS_F_BASETYPE */
 #else /* !HAVE_STATVFS */
 #ifdef HAVE_STATFS
 #ifdef HAVE_STRUCT_STATFS
@@ -251,10 +255,6 @@ void f_filesystem_stat(INT32 args)
     push_int(st.f_blocks);
     push_text("bfree");
     push_int(st.f_bfree);
-#ifdef HAVE_STATFS_F_BAVAIL
-    push_text("bavail");
-    push_int(st.f_bavail);
-#endif /* HAVE_STATFS_F_BAVAIL */
     push_text("files");
     push_int(st.f_files);
     push_text("ffree");
@@ -262,6 +262,8 @@ void f_filesystem_stat(INT32 args)
     push_text("favail");
     push_int(st.f_ffree);
 #ifdef HAVE_STATFS_F_BAVAIL
+    push_text("bavail");
+    push_int(st.f_bavail);
     f_aggregate_mapping(7*2);
 #else
     f_aggregate_mapping(6*2);