diff --git a/apps/routing/cpr/src/test/java/org/onosproject/routing/cpr/ControlPlaneRedirectManagerTest.java b/apps/routing/cpr/src/test/java/org/onosproject/routing/cpr/ControlPlaneRedirectManagerTest.java
index ffcce3b..40c27d3 100644
--- a/apps/routing/cpr/src/test/java/org/onosproject/routing/cpr/ControlPlaneRedirectManagerTest.java
+++ b/apps/routing/cpr/src/test/java/org/onosproject/routing/cpr/ControlPlaneRedirectManagerTest.java
@@ -272,7 +272,7 @@
     private void setUpInterfaceConfiguration(Interface intf, boolean install) {
         DeviceId deviceId = controlPlaneConnectPoint.deviceId();
         PortNumber controlPlanePort = controlPlaneConnectPoint.port();
-        for (InterfaceIpAddress ip : intf.ipAddresses()) {
+        for (InterfaceIpAddress ip : intf.ipAddressesList()) {
             int cpNextId, intfNextId;
             cpNextId = modifyNextObjective(deviceId, controlPlanePort,
                     VlanId.vlanId(ControlPlaneRedirectManager.ASSIGNED_VLAN), true, install);
@@ -698,7 +698,7 @@
         public Interface getMatchingInterface(IpAddress ip) {
             Interface intff = null;
             for (Interface intf : interfaces) {
-                for (InterfaceIpAddress address : intf.ipAddresses()) {
+                for (InterfaceIpAddress address : intf.ipAddressesList()) {
                     if (address.ipAddress().equals(ip)) {
                         intff = intf;
                         break;
