diff --git a/winegrower-core/src/main/java/org/apache/winegrower/deployer/BundleContextImpl.java b/winegrower-core/src/main/java/org/apache/winegrower/deployer/BundleContextImpl.java
index ffcc271..e1f3133 100644
--- a/winegrower-core/src/main/java/org/apache/winegrower/deployer/BundleContextImpl.java
+++ b/winegrower-core/src/main/java/org/apache/winegrower/deployer/BundleContextImpl.java
@@ -238,7 +238,7 @@
         if (Constants.SCOPE_BUNDLE.equals(serviceReference.getProperty(Constants.SERVICE_SCOPE))) {
             return serviceInstances.remove(serviceReference) != null;
         }
-        return serviceReference.unget();
+        return serviceReference.unget(null);
     }
 
     @Override
diff --git a/winegrower-core/src/main/java/org/apache/winegrower/deployer/ServiceObjectsImpl.java b/winegrower-core/src/main/java/org/apache/winegrower/deployer/ServiceObjectsImpl.java
index 4d178ac..75a1783 100644
--- a/winegrower-core/src/main/java/org/apache/winegrower/deployer/ServiceObjectsImpl.java
+++ b/winegrower-core/src/main/java/org/apache/winegrower/deployer/ServiceObjectsImpl.java
@@ -35,7 +35,7 @@
         if (reference.hasFactory()) {
             ServiceFactory.class.cast(reference.getFactory()).ungetService(reference.getBundle(), reference.getRegistration(), service);
         } else if (reference.getReference() == service) {
-            reference.unget();
+            reference.unget(service);
         }
     }
 
diff --git a/winegrower-core/src/main/java/org/apache/winegrower/service/ServiceReferenceImpl.java b/winegrower-core/src/main/java/org/apache/winegrower/service/ServiceReferenceImpl.java
index 4184e1d..7118e95 100644
--- a/winegrower-core/src/main/java/org/apache/winegrower/service/ServiceReferenceImpl.java
+++ b/winegrower-core/src/main/java/org/apache/winegrower/service/ServiceReferenceImpl.java
@@ -93,9 +93,12 @@
         return properties;
     }
 
-    public boolean unget() {
+    public boolean unget(final Object instance) {
         if (usesFactory) {
-            throw new UnsupportedOperationException();
+            if (instance == null) {
+                return false;
+            }
+            ServiceFactory.class.cast(reference).ungetService(bundle, registration, instance);
         }
         return true;
     }
