diff --git a/lib/setup.h b/lib/setup.h
index 2de894cef5a636ac3ce4451c5364b677ecd0959d..42d6d01af4290cc44971c344d747588003761b41 100644
--- a/lib/setup.h
+++ b/lib/setup.h
@@ -298,6 +298,9 @@
 #  define struct_stat                struct _stat
 #endif
 
+#ifndef struct_stat
+#  define struct_stat struct stat
+#endif
 
 /* Below we define some functions. They should
    1. close a socket
diff --git a/src/main.c b/src/main.c
index 6c149cfb626796e10bc6cfe0252fca4a7be80c6c..3127f093778b56b630ca61cc09decf6d683fe3eb 100644
--- a/src/main.c
+++ b/src/main.c
@@ -238,6 +238,10 @@ typedef enum {
 #  define struct_stat                struct _stat
 #endif
 
+#ifndef struct_stat
+#  define struct_stat struct stat
+#endif
+
 #ifdef CURL_DOES_CONVERSIONS
 #ifdef HAVE_ICONV
 iconv_t inbound_cd  = (iconv_t)-1;