diff --git a/core/shared/src/main/scala/coursier/core/Orders.scala b/core/shared/src/main/scala/coursier/core/Orders.scala index d2bd8cdb7..15af6bfe2 100644 --- a/core/shared/src/main/scala/coursier/core/Orders.scala +++ b/core/shared/src/main/scala/coursier/core/Orders.scala @@ -122,8 +122,16 @@ object Orders { private def fallbackConfigIfNecessary(dep: Dependency, configs: Set[String]): Dependency = Parse.withFallbackConfig(dep.configuration) match { - case Some((main, fallback)) if !configs(main) && configs(fallback) => - dep.copy(configuration = fallback) + case Some((main, fallback)) => + val config0 = + if (configs(main)) + main + else if (configs(fallback)) + fallback + else + dep.configuration + + dep.copy(configuration = config0) case _ => dep }