diff --git a/src/os_mswin.c b/src/os_mswin.c
index 869c9a0..2b878f7 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -1787,12 +1787,6 @@
     if (p == NULL)
 	goto fail;
 
-    if ((GetFileAttributesW(p) & FILE_ATTRIBUTE_REPARSE_POINT) == 0)
-    {
-	vim_free(p);
-	goto fail;
-    }
-
     h = CreateFileW(p, 0, 0, NULL, OPEN_EXISTING,
 	    FILE_FLAG_BACKUP_SEMANTICS, NULL);
     vim_free(p);
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index 3e4c03c..cc1ee8b 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -238,7 +238,7 @@
 func s:normalize_fname(fname)
   let ret = substitute(a:fname, '\', '/', 'g')
   let ret = substitute(ret, '//', '/', 'g')
-  let ret = tolower(ret)
+  return tolower(ret)
 endfunc
 
 func Test_resolve_win32()
@@ -330,6 +330,19 @@
     echomsg 'skipped test for buffer name'
   endif
   call delete('Xfile')
+
+  " test for reparse point
+  call mkdir('Xdir')
+  silent !mklink /D Xdirlink Xdir
+  if !v:shell_error
+    w Xdir/text.txt
+    call assert_equal(s:normalize_fname(getcwd() . '\Xdir\text.txt'), s:normalize_fname(resolve('Xdirlink\text.txt')))
+    call assert_equal(s:normalize_fname(getcwd() . '\Xdir'), s:normalize_fname(resolve('Xdirlink')))
+  else
+    echomsg 'skipped test for reparse point'
+  endif
+
+  call delete('Xdir', 'rf')
 endfunc
 
 func Test_simplify()
diff --git a/src/version.c b/src/version.c
index b032347..38b51f7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1417,
+/**/
     1416,
 /**/
     1415,
