diff --git a/src/add-ons/kernel/file_systems/packagefs/resolvables/ResolvableFamily.cpp b/src/add-ons/kernel/file_systems/packagefs/resolvables/ResolvableFamily.cpp index 9e61317986..f48d9c52f6 100644 --- a/src/add-ons/kernel/file_systems/packagefs/resolvables/ResolvableFamily.cpp +++ b/src/add-ons/kernel/file_systems/packagefs/resolvables/ResolvableFamily.cpp @@ -54,9 +54,12 @@ ResolvableFamily::ResolveDependency(Dependency* dependency) { for (FamilyResolvableList::Iterator it = fResolvables.GetIterator(); Resolvable* resolvable = it.Next();) { - if (dependency->ResolvableVersionMatches(resolvable->Version()) - && dependency->ResolvableCompatibleVersionMatches( - resolvable->CompatibleVersion())) { + if (!dependency->ResolvableVersionMatches(resolvable->Version())) + continue; + + Version* compatibleVersion = resolvable->CompatibleVersion() != NULL + ? resolvable->CompatibleVersion() : resolvable->Version(); + if (dependency->ResolvableCompatibleVersionMatches(compatibleVersion)) { resolvable->AddDependency(dependency); return true; }