diff --git a/context_prefix/context_prefix.module b/context_prefix/context_prefix.module index 87e63877e90e28b9166cceb5443b5d38ae93baa8..c1f6b4d9ad415e29faa427c8964728d87f1f20b6 100644 --- a/context_prefix/context_prefix.module +++ b/context_prefix/context_prefix.module @@ -209,9 +209,11 @@ function context_prefix_parse($method = CONTEXT_PREFIX_PATH, $q) { */ function context_prefix_unprefix($q, $providers = array()) { $parsed = context_prefix_parse(CONTEXT_PREFIX_PATH, $q); - if (is_array($providers)) { - foreach ($providers as $provider) { - unset($parsed[$provider]); + if (is_array($providers) && count($providers)) { + foreach ($parsed as $prefix => $info) { + if (!in_array($info['provider'], $providers)) { + unset($parsed[$prefix]); + } } } $parsed = array_keys($parsed);