diff --git a/src/include/freecraft.h b/src/include/freecraft.h
index 69480a10a..b3ae45413 100644
--- a/src/include/freecraft.h
+++ b/src/include/freecraft.h
@@ -528,7 +528,8 @@ extern void ShowLoadProgress(const char* fmt,...);
 extern char* strdcat(const char* l, const char* r);
     /// strdup + strcat + strcat
 extern char* strdcat3(const char* l, const char *m, const char* r);
-#ifndef BSD
+
+#if !defined(BSD) || defined(__APPLE__)
     /// case insensitive strstr
 extern char* strcasestr(char* str, const char* substr);
 #endif // BSD
diff --git a/src/stratagus/stratagus.cpp b/src/stratagus/stratagus.cpp
index 6ab170855..af7ea46d1 100644
--- a/src/stratagus/stratagus.cpp
+++ b/src/stratagus/stratagus.cpp
@@ -336,7 +336,7 @@ global char* strdcat3(const char* l, const char* m, const char* r)
     return res;
 }
 
-#ifndef BSD
+#if !defined(BSD) || defined(__APPLE__)
 /**
 **	Case insensitive version of strstr
 **