diff --git a/core/common/src/main/java/org/onosproject/codec/impl/IntentCodec.java b/core/common/src/main/java/org/onosproject/codec/impl/IntentCodec.java
index a51665b..11429d4 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/IntentCodec.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/IntentCodec.java
@@ -32,6 +32,7 @@
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.onlab.util.Tools.nullIsIllegal;
+import static org.onlab.util.Tools.nullIsNotFound;
 
 /**
  * Intent JSON codec.
@@ -46,6 +47,8 @@
     protected static final String RESOURCES = "resources";
     protected static final String MISSING_MEMBER_MESSAGE =
             " member is required in Intent";
+    private static final String E_APP_ID_NOT_FOUND =
+            "Application ID is not found";
 
     @Override
     public ObjectNode encode(Intent intent, CodecContext context) {
@@ -104,7 +107,7 @@
         String appId = nullIsIllegal(json.get(IntentCodec.APP_ID),
                 IntentCodec.APP_ID + IntentCodec.MISSING_MEMBER_MESSAGE).asText();
         CoreService service = context.getService(CoreService.class);
-        builder.appId(service.getAppId(appId));
+        builder.appId(nullIsNotFound(service.getAppId(appId), IntentCodec.E_APP_ID_NOT_FOUND));
 
         JsonNode priorityJson = json.get(IntentCodec.PRIORITY);
         if (priorityJson != null) {
