diff --git a/framework/src/main/java/org/apache/felix/framework/URLHandlersActivator.java b/framework/src/main/java/org/apache/felix/framework/URLHandlersActivator.java
index 69db16a..fc874d2 100644
--- a/framework/src/main/java/org/apache/felix/framework/URLHandlersActivator.java
+++ b/framework/src/main/java/org/apache/felix/framework/URLHandlersActivator.java
@@ -117,7 +117,18 @@
 
                 for (int i = 0;(i < refs.length) && (service == null);i++)
                 {
-                    if (value.equals(refs[i].getProperty(key)))
+                    Object values = refs[i].getProperty(key);
+                    if (values instanceof String[])
+                    {
+                        for (int j = 0;(j < ((String[]) values).length) && (service == null);j++)
+                        {
+                            if (value.equals(((String[]) values)[j]))
+                            {
+                                service = tracker.getService(refs[i]);
+                            }
+                        }
+                    }
+                    else if (value.equals(values))
                     {
                         service = tracker.getService(refs[i]);
                     }
