diff --git a/src/tools/msvc.jam b/src/tools/msvc.jam
index f3561db..4936ddb 100644
--- a/src/tools/msvc.jam
+++ b/src/tools/msvc.jam
@@ -33,6 +33,7 @@ import path ;
 import pch ;
 import property ;
 import rc ;
+import regex ;
 import set ;
 import toolset ;
 import type ;
@@ -1260,9 +1261,17 @@ local rule default-paths ( version ? )
 
 rule get-rspline ( target : lang-opt )
 {
+    # cygwin can add a trailing \ under some when
+    # converting to a native windows path.  This
+    # causes the include lines to end with \" which
+    # is treated as an escape sequence.  This
+    # should really be fixed in the implementation
+    # of the W modifier, but it's simpler and less
+    # disruptive to fix it here.
+    local includes = [ regex.replace-list [ on $(target) return $(INCLUDES:W) ] : \\\\$ : "" ] ;
     CC_RSPLINE on $(target) = [ on $(target) return $(lang-opt) -U$(UNDEFS)
         $(CFLAGS) $(C++FLAGS) $(OPTIONS) -c $(.nl)-D$(DEFINES)
-        $(.nl)\"-I$(INCLUDES:W)\" ] ;
+        $(.nl)\"-I$(includes:W)\" ] ;
 }
 
 class msvc-linking-generator : linking-generator

