diff --git a/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java b/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java
index 7a741a5..289bb2a 100644
--- a/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java
+++ b/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java
@@ -97,7 +97,7 @@
     }
 
     @Override
-    public Iterable<MappingEntry> getMappingEntriesByAddId(Type type, ApplicationId appId) {
+    public Iterable<MappingEntry> getMappingEntriesByAppId(Type type, ApplicationId appId) {
 
         Set<MappingEntry> mappingEntries = Sets.newHashSet();
         for (Device d : deviceService.getDevices()) {
@@ -120,7 +120,7 @@
     @Override
     public void removeMappingEntriesByAppId(Type type, ApplicationId appId) {
         removeMappingEntries(type, Iterables.toArray(
-                    getMappingEntriesByAddId(type, appId), MappingEntry.class));
+                    getMappingEntriesByAppId(type, appId), MappingEntry.class));
     }
 
     @Override
diff --git a/apps/mappingmanagement/mgr/src/test/java/org/onosproject/mapping/impl/MappingManagerTest.java b/apps/mappingmanagement/mgr/src/test/java/org/onosproject/mapping/impl/MappingManagerTest.java
index 95aa93f..bc760ac 100644
--- a/apps/mappingmanagement/mgr/src/test/java/org/onosproject/mapping/impl/MappingManagerTest.java
+++ b/apps/mappingmanagement/mgr/src/test/java/org/onosproject/mapping/impl/MappingManagerTest.java
@@ -261,7 +261,7 @@
 
         assertTrue("should have two mappings",
                 Lists.newLinkedList(
-                        service.getMappingEntriesByAddId(MAP_DATABASE, appId)).size() == 2);
+                        service.getMappingEntriesByAppId(MAP_DATABASE, appId)).size() == 2);
     }
 
     /**
@@ -276,7 +276,7 @@
 
         assertTrue("should not have any mappings",
                 Lists.newLinkedList(
-                        service.getMappingEntriesByAddId(MAP_DATABASE, appId)).size() == 0);
+                        service.getMappingEntriesByAppId(MAP_DATABASE, appId)).size() == 0);
     }
 
     private static class TestDeviceService extends DeviceServiceAdapter {
