Make sure to resolve entire tree
diff --git a/dependency/resolver.go b/dependency/resolver.go
index 3a8e05a..3345dc1 100644
--- a/dependency/resolver.go
+++ b/dependency/resolver.go
@@ -464,7 +464,6 @@
 			continue
 		}
 		r.VersionHandler.Process(dep)
-
 		// Here, we want to import the package and see what imports it has.
 		msg.Debug("Trying to open %s", vdep)
 		var imps []string
@@ -859,8 +858,14 @@
 func sliceToQueue(deps []*cfg.Dependency, basepath string) *list.List {
 	l := list.New()
 	for _, e := range deps {
-		msg.Debug("Adding local Import %s to queue", e.Name)
-		l.PushBack(filepath.Join(basepath, filepath.FromSlash(e.Name)))
+		for _, v := range e.Subpackages {
+			ip := e.Name
+			if v != "." && v != "" {
+				ip = ip + "/" + v
+			}
+			msg.Debug("Adding local Import %s to queue", ip)
+			l.PushBack(filepath.Join(basepath, filepath.FromSlash(ip)))
+		}
 	}
 	return l
 }
diff --git a/repo/installer.go b/repo/installer.go
index 68a5d59..871cc79 100644
--- a/repo/installer.go
+++ b/repo/installer.go
@@ -202,16 +202,17 @@
 	for _, v := range imps {
 		n := res.Stripv(v)
 		rt, sub := util.NormalizeName(n)
+		if sub != "" {
+			sub = "."
+		}
 		d := conf.Imports.Get(rt)
 		if d == nil {
 			nd := &cfg.Dependency{
-				Name: rt,
-			}
-			if sub != "" {
-				nd.Subpackages = []string{sub}
+				Name:        rt,
+				Subpackages: []string{sub},
 			}
 			conf.Imports = append(conf.Imports, nd)
-		} else if sub != "" && !d.HasSubpackage(sub) {
+		} else if !d.HasSubpackage(sub) {
 			d.Subpackages = append(d.Subpackages, sub)
 		}
 	}
@@ -219,19 +220,20 @@
 		for _, v := range timps {
 			n := res.Stripv(v)
 			rt, sub := util.NormalizeName(n)
+			if sub != "" {
+				sub = "."
+			}
 			d := conf.Imports.Get(rt)
 			if d == nil {
 				d = conf.DevImports.Get(rt)
 			}
 			if d == nil {
 				nd := &cfg.Dependency{
-					Name: rt,
-				}
-				if sub != "" {
-					nd.Subpackages = []string{sub}
+					Name:        rt,
+					Subpackages: []string{sub},
 				}
 				conf.DevImports = append(conf.DevImports, nd)
-			} else if sub != "" && !d.HasSubpackage(sub) {
+			} else if !d.HasSubpackage(sub) {
 				d.Subpackages = append(d.Subpackages, sub)
 			}
 		}