diff --git a/dependency/resolver.go b/dependency/resolver.go
index d12a50c..1d40cfa 100644
--- a/dependency/resolver.go
+++ b/dependency/resolver.go
@@ -400,7 +400,7 @@
 			msg.Debug("Using Iterative Scanning for %s", dep)
 			imps, err = IterativeScan(vdep)
 			if err != nil {
-				msg.Err("Error scanning %s: %s", dep, err)
+				msg.Err("Iterative scanning error %s: %s", dep, err)
 				continue
 			}
 		} else if err != nil {
diff --git a/repo/installer.go b/repo/installer.go
index 1506652..1ceaec1 100644
--- a/repo/installer.go
+++ b/repo/installer.go
@@ -329,8 +329,23 @@
 	// This package may have been placed on the list to look for when it wasn't
 	// downloaded but it has since been downloaded before coming to this entry.
 	if _, err := os.Stat(dest); err == nil {
-		msg.Debug("Found %s", dest)
-		return true, nil
+		// Make sure the location contains files. It may be an empty directory.
+		empty, err := gpath.IsDirectoryEmpty(dest)
+		if err != nil {
+			return false, err
+		}
+		if empty {
+			msg.Warn("%s is an existing location with no files. Fetching a new copy of the dependency.", dest)
+			msg.Debug("Removing empty directory %s", dest)
+			err := os.RemoveAll(dest)
+			if err != nil {
+				msg.Debug("Installer error removing directory %s: %s", dest, err)
+				return false, err
+			}
+		} else {
+			msg.Debug("Found %s", dest)
+			return true, nil
+		}
 	}
 
 	msg.Info("Fetching %s into %s", pkg, m.destination)
diff --git a/repo/vcs.go b/repo/vcs.go
index 3ef8ff1..9ff76c7 100644
--- a/repo/vcs.go
+++ b/repo/vcs.go
@@ -55,6 +55,17 @@
 		_, err = v.DetectVcsFromFS(dest)
 		if updateVendored == false && empty == false && err == v.ErrCannotDetectVCS {
 			msg.Warn("%s appears to be a vendored package. Unable to update. Consider the '--update-vendored' flag.\n", dep.Name)
+		} else if updateVendored == false && empty == true && err == v.ErrCannotDetectVCS {
+			msg.Warn("%s is an empty directory. Fetching a new copy of the dependency.", dep.Name)
+			msg.Debug("Removing empty directory %s", dest)
+			err := os.RemoveAll(dest)
+			if err != nil {
+				return err
+			}
+			if err = VcsGet(dep, dest, home, cache, cacheGopath, useGopath); err != nil {
+				msg.Warn("Unable to checkout %s\n", dep.Name)
+				return err
+			}
 		} else {
 
 			if updateVendored == true && empty == false && err == v.ErrCannotDetectVCS {
