diff --git a/notification-core/src/main/java/org/opengroup/osdu/notification/di/CredentialHeadersProvider.java b/notification-core/src/main/java/org/opengroup/osdu/notification/di/CredentialHeadersProvider.java
index 30252493e4828485951c62f040ce612ad1d4ceba..fb568311c0955c57f9980b6f461254f7a22a44b1 100644
--- a/notification-core/src/main/java/org/opengroup/osdu/notification/di/CredentialHeadersProvider.java
+++ b/notification-core/src/main/java/org/opengroup/osdu/notification/di/CredentialHeadersProvider.java
@@ -57,27 +57,30 @@ public class CredentialHeadersProvider implements FactoryBean<DpsHeaders> {
         switch (requestMethod) {
             case POST:
             case PUT:
-            case PATCH: {
-                if(this.pubsubRequestBodyExtractor.isHandshakeRequest()) {
-                    // The headers are not needed for the handshake requests.
-                    return new DpsHeaders();
-                }
-
-                Map<String, String> attributes = this.pubsubRequestBodyExtractor.extractAttributesFromRequestBody();
-                try {
-                    //extract headers from pubsub message
-                    String dataPartitionId = attributes.get(DpsHeaders.DATA_PARTITION_ID);
-                    String authToken = this.serviceAccountJwtClient.getIdToken(dataPartitionId);
-                    attributes.put(DpsHeaders.AUTHORIZATION, authToken);
-                    return DpsHeaders.createFromMap(attributes);
-                } catch (AppException e) {
-                    throw new Exception("Failed to generate headers for register service.");
-                }
-            }
+            case PATCH:
+                return getDpsHeadersForPostPutPatch();
 
             default: {
                 return new DpsHeaders();
             }
         }
     }
+
+    private DpsHeaders getDpsHeadersForPostPutPatch() throws Exception {
+        if(this.pubsubRequestBodyExtractor.isHandshakeRequest()) {
+            // The headers are not needed for the handshake requests.
+            return new DpsHeaders();
+        }
+
+        Map<String, String> attributes = this.pubsubRequestBodyExtractor.extractAttributesFromRequestBody();
+        try {
+            //extract headers from pubsub message
+            String dataPartitionId = attributes.get(DpsHeaders.DATA_PARTITION_ID);
+            String authToken = this.serviceAccountJwtClient.getIdToken(dataPartitionId);
+            attributes.put(DpsHeaders.AUTHORIZATION, authToken);
+            return DpsHeaders.createFromMap(attributes);
+        } catch (AppException e) {
+            throw new Exception("Failed to generate headers for register service.");
+        }
+    }
 }
\ No newline at end of file