diff --git a/jaxb-api-2.3/src/main/java/javax/xml/bind/ServiceLoaderUtil.java b/jaxb-api-2.3/src/main/java/javax/xml/bind/ServiceLoaderUtil.java
index 4debc31..0a9d211 100644
--- a/jaxb-api-2.3/src/main/java/javax/xml/bind/ServiceLoaderUtil.java
+++ b/jaxb-api-2.3/src/main/java/javax/xml/bind/ServiceLoaderUtil.java
@@ -109,6 +109,24 @@
             throw handler.createException(x, "Provider " + className + " could not be instantiated: " + x);
         }
     }
+    
+    static Object lookupUsingOSGiServiceLoader(String factoryId, Logger logger) {
+     // using OSGi locator to load the spi class
+        try {
+            Class serviceClass = Class.forName(factoryId);
+            Class spiClass = org.apache.servicemix.specs.locator.OsgiLocator.locate(serviceClass);
+            if (spiClass != null) {
+                logger.log(Level.FINE, "Found spiClass: " + spiClass);
+                return spiClass;
+            } else {
+                logger.log(Level.FINE, "No spiClass found in OSGi");
+                return null;
+            }
+
+        } catch (Throwable t) {
+            return null;
+        }
+    }
 
     static Class safeLoadClass(String className,
                                String defaultImplClassName,
