diff --git a/DynamicLoader.cxx b/DynamicLoader.cxx
index ff6da4faeb56176b5c6e860030844d71087fd255..672dee5aec10756bb6ff2c58cc8ce8c26c4eae97 100644
--- a/DynamicLoader.cxx
+++ b/DynamicLoader.cxx
@@ -335,11 +335,21 @@ const char* DynamicLoader::LastError()
 #endif //_WIN32
 
 // ---------------------------------------------------------------
-// 4. Implementation for BeOS
-#ifdef __BEOS__
+// 4. Implementation for BeOS / Haiku
+#if defined __BEOS__ || defined(__HAIKU__)
+
 #include <string.h> // for strerror()
+
+#ifdef __BEOS__
 #include <be/kernel/image.h>
 #include <be/support/Errors.h>
+#endif
+
+#ifdef __HAIKU__
+#include <os/kernel/image.h>
+#include <os/support/Errors.h>
+#endif
+
 #define DYNAMICLOADER_DEFINED 1
 
 namespace KWSYS_NAMESPACE
diff --git a/ProcessUNIX.c b/ProcessUNIX.c
index c1621470379b46adab860fb999edca45b832f17a..0ba5d06fbef53a6567058aa5e04390e190571cbb 100644
--- a/ProcessUNIX.c
+++ b/ProcessUNIX.c
@@ -75,7 +75,7 @@ typedef ssize_t kwsysProcess_ssize_t;
 typedef int kwsysProcess_ssize_t;
 #endif
 
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) 
 /* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */
 # include <be/kernel/OS.h>
 static inline void kwsysProcess_usleep(unsigned int msec)
diff --git a/SystemTools.cxx b/SystemTools.cxx
index 237862e8f642a3d95038274259a0722ad143a93d..e5be602d5574b2db10e44eed1eb23d55ea0f8c22 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -131,7 +131,12 @@ public:
 #define _chdir chdir
 #endif
 
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__HAIKU__)
+#include <os/kernel/OS.h>
+#include <os/storage/Path.h>
+#endif
+
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
 #include <be/kernel/OS.h>
 #include <be/storage/Path.h>
 
diff --git a/kwsysDateStamp.cmake b/kwsysDateStamp.cmake
index d430522960784cd019c18bde8dc6de04146523fd..7cdb123ee848adb8f317c16a2940ceee24ee69a2 100644
--- a/kwsysDateStamp.cmake
+++ b/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@ SET(KWSYS_DATE_STAMP_YEAR  2008)
 SET(KWSYS_DATE_STAMP_MONTH 09)
 
 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   11)
+SET(KWSYS_DATE_STAMP_DAY   15)
diff --git a/testDynamicLoader.cxx b/testDynamicLoader.cxx
index cfdbfd4e1b10fe6bdc07defc7fb7f6cc4985b0a8..14a02ac961815c4f6cef1a0cc1376858dcc45273 100644
--- a/testDynamicLoader.cxx
+++ b/testDynamicLoader.cxx
@@ -17,10 +17,14 @@
 #include KWSYS_HEADER(ios/iostream)
 #include KWSYS_HEADER(stl/string)
 
-#if defined(__BEOS__)
+#if defined(__BEOS__) && !defined(__HAIKU__)
 #include <be/kernel/OS.h>  /* disable_debugger() API. */
 #endif
 
+#if defined(__HAIKU__)
+#include <os/kernel/OS.h>  /* disable_debugger() API. */
+#endif
+
 // Work-around CMake dependency scanning limitation.  This must
 // duplicate the above list of headers.
 #if 0
diff --git a/testProcess.c b/testProcess.c
index e93cc0d238dd30665ebc5695af3aa1ae4ea658bf..11bef4275cb326710dfe6c58eb542109d75c908a 100644
--- a/testProcess.c
+++ b/testProcess.c
@@ -34,7 +34,7 @@
 # pragma warn -8060 /* possibly incorrect assignment */
 #endif
 
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
 /* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */
 # include <be/kernel/OS.h>
 static inline void testProcess_usleep(unsigned int msec)