diff --git a/notification-core/src/main/java/org/opengroup/osdu/notification/service/SubscriptionHandler.java b/notification-core/src/main/java/org/opengroup/osdu/notification/service/SubscriptionHandler.java
index 016ca4f49a55e630b95bbdf0c7ace92359c25a02..72d6f22d572c4132b49c0fe093697d841b6163c6 100644
--- a/notification-core/src/main/java/org/opengroup/osdu/notification/service/SubscriptionHandler.java
+++ b/notification-core/src/main/java/org/opengroup/osdu/notification/service/SubscriptionHandler.java
@@ -36,6 +36,8 @@ import java.util.List;
 
 @Component
 public class SubscriptionHandler {
+
+    private static final String STATUS_NOT_FOUND = "not-found";
     @Autowired
     private ISubscriptionFactory subscriptionFactory;
     @Autowired
@@ -51,8 +53,12 @@ public class SubscriptionHandler {
     public Subscription getSubscriptionFromCache(String notificationId) throws IOException, SubscriptionException {
         String subscriptionString = subscriptionCacheFactory.get(notificationId);
         try {
-            if (Strings.isNullOrEmpty(subscriptionString))
+            if (Strings.isNullOrEmpty(subscriptionString)) {
                 subscriptionString = querySubscriptionAndUpdateCache(notificationId);
+            }
+            if (subscriptionString.equals(STATUS_NOT_FOUND)) {
+                throw new AppException(HttpStatus.SC_NOT_FOUND, "Unable to find a subscription with notificationId:" + notificationId, "Subscription not found");
+            }
             ObjectMapper objectMapper = this.getObjectMapper();
             Subscription subscription = objectMapper.readValue(subscriptionString, Subscription.class);
             return subscription;
@@ -68,7 +74,8 @@ public class SubscriptionHandler {
 
         List<Subscription> subscriptionList = service.query(notificationId);
         if (subscriptionList == null || subscriptionList.size() == 0) {
-            throw new AppException(HttpStatus.SC_NOT_FOUND, "Not found subscription for notificationId:" + notificationId, "Subscription not found");
+            this.subscriptionCacheFactory.put(notificationId, STATUS_NOT_FOUND);
+            return STATUS_NOT_FOUND;
         }
 
         Subscription subscription = subscriptionList.get(0);
diff --git a/provider/notification-azure/src/main/resources/application.properties b/provider/notification-azure/src/main/resources/application.properties
index f55e5cd962467cc00e94916031257b92cffb7b4e..82ed78dbe56f8d77c5223f51d7201284f869e3df 100644
--- a/provider/notification-azure/src/main/resources/application.properties
+++ b/provider/notification-azure/src/main/resources/application.properties
@@ -35,8 +35,8 @@ PARTITION_API=${partition_service_endpoint}
 app.entitlements=${entitlements_service_endpoint}
 app.register=${registeration_service_endpoint}
 app.project=opendes
-app.expireTime=300
-app.maxCacheSize=10
+app.expireTime=600
+app.maxCacheSize=100
 
 # Azure AD configuration
 #azure.activedirectory.client-id=${aad_client_id}