diff --git a/path/path.go b/path/path.go
index 48e95fb..953d851 100644
--- a/path/path.go
+++ b/path/path.go
@@ -235,7 +235,11 @@
 		return err
 	}
 
-	d, _ := os.Open(source)
+	d, err := os.Open(source)
+	if err != nil {
+		return err
+	}
+	defer d.Close()
 
 	objects, err := d.Readdir(-1)
 
diff --git a/repo/installer.go b/repo/installer.go
index 52dcf12..8faee97 100644
--- a/repo/installer.go
+++ b/repo/installer.go
@@ -8,6 +8,7 @@
 	"runtime"
 	"strings"
 	"sync"
+	"syscall"
 	"time"
 
 	"github.com/Masterminds/glide/cache"
@@ -360,15 +361,29 @@
 
 	err = os.Rename(vp, i.VendorPath())
 
-	// When there are different physical devices we cannot rename cross device.
-	// Note, windows does not return the cross-device link message but instead
-	// bubbles up a system message (I believe is i18n). So, we try to detect the
-	// cross device link error or a windows error. If copy fails that will bubble
-	// up an additional error.
-	if err != nil && (strings.Contains(err.Error(), "cross-device link") || runtime.GOOS == "windows") {
-		msg.Debug("Cross link err, trying manual copy: %s", err)
-
-		err = gpath.CopyDir(vp, i.VendorPath())
+	if err != nil {
+		// When there are different physical devices we cannot rename cross device.
+		// Instead we copy.
+		switch terr := err.(type) {
+		case *os.LinkError:
+			// syscall.EXDEV is the common name for the cross device link error
+			// which has varying output text across different operating systems.
+			if terr.Err == syscall.EXDEV {
+				msg.Debug("Cross link err, trying manual copy: %s", err)
+				return gpath.CopyDir(vp, i.VendorPath())
+			} else if runtime.GOOS == "windows" {
+				// In windows it can drop down to an operating system call that
+				// returns an operating system error with a different number and
+				// message. Checking for that as a fall back.
+				noerr, ok := terr.Err.(syscall.Errno)
+				// 0x11 (ERROR_NOT_SAME_DEVICE) is the windows error.
+				// See https://msdn.microsoft.com/en-us/library/cc231199.aspx
+				if ok && noerr == 0x11 {
+					msg.Debug("Cross link err on Windows, trying manual copy: %s", err)
+					return gpath.CopyDir(vp, i.VendorPath())
+				}
+			}
+		}
 	}
 
 	return err
