diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/installer/FlowObjectiveIntentInstaller.java b/core/net/src/main/java/org/onosproject/net/intent/impl/installer/FlowObjectiveIntentInstaller.java
index bc21235..84717e4 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/installer/FlowObjectiveIntentInstaller.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/installer/FlowObjectiveIntentInstaller.java
@@ -339,10 +339,14 @@
                     });
                     return;
                 }
-                if (intentInstallationContext.errorContexts().isEmpty()) {
+                if (intentInstallationContext.errorContexts().isEmpty() && error == null) {
                     intentInstallCoordinator.intentInstallSuccess(intentInstallationContext.intentOperationContext());
-                } else {
+                } else if (!intentInstallationContext.errorContexts().isEmpty()) {
                     intentInstallCoordinator.intentInstallFailed(intentInstallationContext.intentOperationContext());
+                } else {
+                    // waiting for error handling.
+                    // if ctx.retryTimes() > OBJECTIVE_RETRY_THRESHOLD
+                    // then handleObjectiveError will be executed.
                 }
             }
         }
