diff --git a/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbControllerImpl.java b/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbControllerImpl.java
index 5ffd003..a0e3de2 100644
--- a/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbControllerImpl.java
+++ b/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbControllerImpl.java
@@ -397,12 +397,12 @@
      */
     private class InternalMonitorCallBack implements Callback {
         @Override
-        public void update(UpdateNotification upadateNotification) {
-            Object key = upadateNotification.context();
+        public void update(UpdateNotification updateNotification) {
+            Object key = updateNotification.jsonValue();
             OvsdbClientService ovsdbClient = requestNotification.get(key);
 
             String dbName = requestDbName.get(key);
-            JsonNode updatesJson = upadateNotification.tbUpdatesJsonNode();
+            JsonNode updatesJson = updateNotification.tbUpdatesJsonNode();
             DatabaseSchema dbSchema = ovsdbClient.getDatabaseSchema(dbName);
             TableUpdates updates = FromJsonUtil
                     .jsonNodeToTableUpdates(updatesJson, dbSchema);
