diff --git a/CHANGELOG.md b/CHANGELOG.md
index 10f8d68..a712d6d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@
   This skips unnecessary network requests (thanks @hori-ryota)
 
 ## Fixed
+- #529: --delete flag deleted and re-downloaded transitive dependencies
 - #535: Resolve vendor directory symlinks (thanks @Fugiman)
 
 # Release 0.11.1 (2016-07-21)
diff --git a/action/install.go b/action/install.go
index ee91401..b1566a2 100644
--- a/action/install.go
+++ b/action/install.go
@@ -42,14 +42,6 @@
 		msg.Warn("Lock file may be out of date. Hash check of YAML failed. You may need to run 'update'")
 	}
 
-	// Delete unused packages
-	if installer.DeleteUnused {
-		// It's unclear whether this should operate off of the lock, or off
-		// of the glide.yaml file. I'd think that doing this based on the
-		// lock would be much more reliable.
-		dependency.DeleteUnused(conf)
-	}
-
 	// Install
 	newConf, err := installer.Install(lock, conf)
 	if err != nil {
@@ -63,6 +55,13 @@
 		msg.Err("Failed to set references: %s (Skip to cleanup)", err)
 	}
 
+	// Delete unused packages
+	if installer.DeleteUnused {
+		// newConf is calculated based on the lock file so it should be
+		// accurate to the project list.
+		dependency.DeleteUnused(newConf)
+	}
+
 	// VendoredCleanup. This should ONLY be run if UpdateVendored was specified.
 	// When stripping VCS happens this will happen as well. No need for double
 	// effort.
diff --git a/action/update.go b/action/update.go
index fdd90ad..bdd3c62 100644
--- a/action/update.go
+++ b/action/update.go
@@ -24,11 +24,6 @@
 	EnsureVendorDir()
 	conf := EnsureConfig()
 
-	// Delete unused packages
-	if installer.DeleteUnused {
-		dependency.DeleteUnused(conf)
-	}
-
 	// Try to check out the initial dependencies.
 	if err := installer.Checkout(conf); err != nil {
 		msg.Die("Failed to do initial checkout of config: %s", err)
@@ -59,6 +54,12 @@
 			msg.Err("Failed to set references: %s (Skip to cleanup)", err)
 		}
 	}
+
+	// Delete unused packages
+	if installer.DeleteUnused {
+		dependency.DeleteUnused(confcopy)
+	}
+
 	// Vendored cleanup
 	// VendoredCleanup. This should ONLY be run if UpdateVendored was specified.
 	// When stripping VCS happens this will happen as well. No need for double
diff --git a/dependency/delete.go b/dependency/delete.go
index 39a6367..6456370 100644
--- a/dependency/delete.go
+++ b/dependency/delete.go
@@ -28,6 +28,9 @@
 	for _, dep := range conf.Imports {
 		pkgList = append(pkgList, dep.Name)
 	}
+	for _, dep := range conf.DevImports {
+		pkgList = append(pkgList, dep.Name)
+	}
 
 	var searchPath string
 	var markForDelete []string
