diff --git a/System/Directory/Internal/Windows.hsc b/System/Directory/Internal/Windows.hsc
index 4e7fd96ffb490a881781e9592b05b044555fed4c..34acea054497dd33808f5491364f5b4237479fdb 100644
--- a/System/Directory/Internal/Windows.hsc
+++ b/System/Directory/Internal/Windows.hsc
@@ -12,7 +12,7 @@ module System.Directory.Internal.Windows where
 #include <shlobj.h>
 #include <windows.h>
 #include <System/Directory/Internal/utility.h>
-#include <System/Directory/Internal/windows.h>
+#include <System/Directory/Internal/windows_ext.h>
 import Prelude ()
 import System.Directory.Internal.Prelude
 import System.Directory.Internal.Common
diff --git a/System/Directory/Internal/windows.h b/System/Directory/Internal/windows_ext.h
similarity index 91%
rename from System/Directory/Internal/windows.h
rename to System/Directory/Internal/windows_ext.h
index 4f32606a9aa4a0b7a120d7cfdcd1ac70e6b52756..9c5de016429438be270e8a72a68616f89876dfd7 100644
--- a/System/Directory/Internal/windows.h
+++ b/System/Directory/Internal/windows_ext.h
@@ -1,3 +1,5 @@
+#ifndef HS_DIRECTORY_WINDOWS_EXT_H
+#define HS_DIRECTORY_WINDOWS_EXT_H
 #include <windows.h>
 
 // define prototype to get size, offsets, and alignments
@@ -27,3 +29,5 @@ typedef struct {
         } GenericReparseBuffer;
     };
 } HsDirectory_REPARSE_DATA_BUFFER;
+
+#endif
diff --git a/changelog.md b/changelog.md
index 16b070d2572e50081670e349761fee5fa4803ec9..3393322f41436ad0ad68baf3d76417be69e6643e 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,9 +1,15 @@
 Changelog for the [`directory`][1] package
 ==========================================
 
+## 1.3.1.5 (October 2017)
+
+  * Rename the internal header `windows.h` to avoid GHC#14312.
+    ([#77](https://github.com/haskell/directory/issues/77))
+
 ## 1.3.1.4 (September 2017)
 
   * Fix `Win32` version 2.6 compatibility.
+    ([#75](https://github.com/haskell/directory/pull/75))
 
 ## 1.3.1.3 (September 2017)
 
@@ -12,6 +18,7 @@ Changelog for the [`directory`][1] package
 ## 1.3.1.2 (September 2017)
 
   * Relax `base` version bounds to support 4.11.
+    ([#74](https://github.com/haskell/directory/pull/74))
 
 ## 1.3.1.1 (March 2017)
 
diff --git a/directory.cabal b/directory.cabal
index a739f40515b59b8f6737a1276112e725eef7107e..246a88875154f1cfef81570c4146db68c4c15646 100644
--- a/directory.cabal
+++ b/directory.cabal
@@ -1,5 +1,5 @@
 name:           directory
-version:        1.3.1.4
+version:        1.3.1.5
 -- NOTE: Don't forget to update ./changelog.md
 license:        BSD3
 license-file:   LICENSE