diff --git a/lib/repository_finddeps.c b/lib/repository_finddeps.c
index b5b7f317..16bff0b8 100644
--- a/lib/repository_finddeps.c
+++ b/lib/repository_finddeps.c
@@ -368,18 +368,15 @@ find_repo_deps(struct xbps_handle *xhp,
 		if (rv != 0) {
 			xbps_dbg_printf(xhp, "store_dependency failed for "
 			    "`%s': %s\n", reqpkg, strerror(rv));
-			prop_object_release(curpkgd);
 			break;
 		}
 		/*
 		 * If package doesn't have rundeps, pass to the next one.
 		 */
 		curpkgrdeps = prop_dictionary_get(curpkgd, "run_depends");
-		if (curpkgrdeps == NULL) {
-			prop_object_release(curpkgd);
+		if (curpkgrdeps == NULL)
 			continue;
-		}
-		prop_object_release(curpkgd);
+
 		if (xhp->flags & XBPS_FLAG_DEBUG) {
 			xbps_dbg_printf(xhp, "");
 			for (x = 0; x < *depth; x++)
@@ -415,6 +412,8 @@ xbps_repository_find_pkg_deps(struct xbps_handle *xhp,
 	pkg_rdeps = prop_dictionary_get(repo_pkgd, "run_depends");
 	if (prop_object_type(pkg_rdeps) != PROP_TYPE_ARRAY)
 		return 0;
+	else if (prop_array_count(pkg_rdeps) == 0)
+		return 0;
 
 	prop_dictionary_get_cstring_nocopy(repo_pkgd, "pkgver", &pkgver);
 	xbps_dbg_printf(xhp, "Finding required dependencies for '%s':\n", pkgver);