SLING-11103 - Sync updates with super
diff --git a/src/main/java/org/apache/sling/rewriter/impl/TransformerFactoryServiceTracker.java b/src/main/java/org/apache/sling/rewriter/impl/TransformerFactoryServiceTracker.java
index 6b9d390..d80a676 100644
--- a/src/main/java/org/apache/sling/rewriter/impl/TransformerFactoryServiceTracker.java
+++ b/src/main/java/org/apache/sling/rewriter/impl/TransformerFactoryServiceTracker.java
@@ -63,12 +63,13 @@
     public Object addingService(ServiceReference reference) {
         final boolean isGlobal = isGlobal(reference);
         LOGGER.debug("Adding service {}, isGlobal={}", reference.getClass(), isGlobal);
-        if ( isGlobal ) {
-            synchronized (this) {
+        Object obj = null;
+        synchronized (this) {
+            if ( isGlobal ) {
                 this.cacheIsValid = false;
             }
+            obj = super.addingService(reference);
         }
-        Object obj = super.addingService(reference);
         if ( obj == null && isGlobal ) {
             obj = this.context.getService(reference);
         }
@@ -82,12 +83,12 @@
     public void removedService(ServiceReference reference, Object service) {
         final boolean isGlobal = isGlobal(reference);
         LOGGER.debug("Removing service {}, isGlobal={}", reference.getClass(), isGlobal);
-        if ( isGlobal ) {
-            synchronized (this) {
+        synchronized (this) {
+            if ( isGlobal ) {
                 this.cacheIsValid = false;
             }
+            super.removedService(reference, service);
         }
-        super.removedService(reference, service);
     }
 
     /**