diff --git a/dependency/resolver.go b/dependency/resolver.go
index 18e03c4..6e50d32 100644
--- a/dependency/resolver.go
+++ b/dependency/resolver.go
@@ -328,9 +328,18 @@
 		pkg, err := r.BuildContext.ImportDir(vdep, 0)
 		if err != nil {
 			msg.Warn("ImportDir error on %s: %s", vdep, err)
+			if strings.HasPrefix(err.Error(), "no buildable Go source") {
+				msg.Info("No subpackages declared. Skipping %s.", dep)
+				continue
+			}
 			if ok, err := r.Handler.NotFound(dep); ok {
+				//if _, ok := r.alreadyQ[dep]; ok {
+				//// This was already processed, possibly by another
+				//// concurrent iteration.
+				//continue
+				//}
 				r.alreadyQ[dep] = true
-				queue.PushBack(dep)
+				queue.PushBack(r.vpath(dep))
 			} else if err != nil {
 				msg.Warn("Error looking for %s: %s", dep, err)
 			} else {
@@ -370,10 +379,12 @@
 			case LocGopath:
 				msg.Info("Found on GOPATH, not vendor: %s", imp)
 				if _, ok := r.alreadyQ[imp]; !ok {
-					r.Handler.OnGopath(imp)
-					r.alreadyQ[imp] = true
-					queue.PushBack(imp)
-					r.VersionHandler.SetVersion(imp)
+					// Only scan it if it gets moved into vendor/
+					if ok, _ := r.Handler.OnGopath(imp); ok {
+						r.alreadyQ[imp] = true
+						queue.PushBack(r.vpath(imp))
+						r.VersionHandler.SetVersion(imp)
+					}
 				}
 			}
 		}
diff --git a/repo/installer.go b/repo/installer.go
index c3db217..29f67f3 100644
--- a/repo/installer.go
+++ b/repo/installer.go
@@ -316,6 +316,7 @@
 	// 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
 	}
 
