diff --git a/src/modules/files/efuns.c b/src/modules/files/efuns.c
index ba75f2805f652954b23859a068ef83ef0125f530..215ad7a88956b542c9ba82794a07484c17dea838 100644
--- a/src/modules/files/efuns.c
+++ b/src/modules/files/efuns.c
@@ -199,10 +199,7 @@ void f_getcwd(INT32 args)
   char *e;
   pop_n_elems(args);
 
-#ifdef HAVE_GETCWD
-  e=(char *)getcwd(0,1000); 
-#else
-
+#ifdef HAVE_GETWD
 #ifndef MAXPATHLEN
 #define MAXPATHLEN 32768
 #endif
@@ -210,6 +207,8 @@ void f_getcwd(INT32 args)
   e=(char *)getwd((char *)malloc(MAXPATHLEN+1));
   if(!e)
     fatal("Couldn't fetch current path.\n");
+#else
+  e=(char *)getcwd(0,1000); 
 #endif
   push_string(make_shared_string(e));
   free(e);
diff --git a/src/modules/files/file.c b/src/modules/files/file.c
index 3cb08d658723c05a69813f176d7ba2eaf898b45d..6c4e58650453d1d36a30ee862ff6725a06d8639b 100644
--- a/src/modules/files/file.c
+++ b/src/modules/files/file.c
@@ -54,6 +54,8 @@ static struct program *file_program;
 static void file_read_callback(int fd, void *data);
 static void file_write_callback(int fd, void *data);
 
+#undef u
+
 static void init_fd(int fd, int open_mode)
 {
   files[fd].refs=1;
diff --git a/src/modules/files/socket.c b/src/modules/files/socket.c
index a2c84c2c48e4fb9170d0233dcc9093a8e666e2f5..9dba6536730535d4fd1d8fcd16d645cee55a9094 100644
--- a/src/modules/files/socket.c
+++ b/src/modules/files/socket.c
@@ -44,6 +44,8 @@
 mutex_t *locks;
 #endif
 
+#undef u
+
 struct port
 {
   int fd;