diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/phase/Corrupt.java b/core/net/src/main/java/org/onosproject/net/intent/impl/phase/Corrupt.java
index 2fbe164..f475d85 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/phase/Corrupt.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/phase/Corrupt.java
@@ -25,20 +25,20 @@
  */
 public class Corrupt extends FinalIntentProcessPhase {
 
-    private final IntentData intentData;
+    private final IntentData data;
 
     /**
      * Create an instance with the specified data.
      *
-     * @param intentData intentData
+     * @param data intentData
      */
-    Corrupt(IntentData intentData) {
-        this.intentData = checkNotNull(intentData);
-        this.intentData.setState(CORRUPT);
+    Corrupt(IntentData data) {
+        this.data = checkNotNull(data);
+        this.data.setState(CORRUPT);
     }
 
     @Override
     public IntentData data() {
-        return intentData;
+        return data;
     }
 }
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/phase/Failed.java b/core/net/src/main/java/org/onosproject/net/intent/impl/phase/Failed.java
index 7f628e3..964ccf7 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/phase/Failed.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/phase/Failed.java
@@ -25,20 +25,20 @@
  */
 public class Failed extends FinalIntentProcessPhase {
 
-    private final IntentData intentData;
+    private final IntentData data;
 
     /**
      * Create an instance with the specified data.
      *
-     * @param intentData intentData
+     * @param data intentData
      */
-    Failed(IntentData intentData) {
-        this.intentData = checkNotNull(intentData);
-        this.intentData.setState(FAILED);
+    Failed(IntentData data) {
+        this.data = checkNotNull(data);
+        this.data.setState(FAILED);
     }
 
     @Override
     public IntentData data() {
-        return intentData;
+        return data;
     }
 }
