diff --git a/core/net/src/test/java/org/onosproject/net/flowobjective/impl/InOrderFlowObjectiveManagerTest.java b/core/net/src/test/java/org/onosproject/net/flowobjective/impl/InOrderFlowObjectiveManagerTest.java
index 7ce1c16..9797442 100644
--- a/core/net/src/test/java/org/onosproject/net/flowobjective/impl/InOrderFlowObjectiveManagerTest.java
+++ b/core/net/src/test/java/org/onosproject/net/flowobjective/impl/InOrderFlowObjectiveManagerTest.java
@@ -181,7 +181,9 @@
         private void recordObjective(Objective obj) {
             try {
                 Thread.sleep(new Random().nextInt(bound) + offset);
-                actualObjs.add(obj);
+                if (!actualObjs.contains(obj)) {
+                    actualObjs.add(obj);
+                }
                 obj.context().ifPresent(c -> c.onSuccess(obj));
             } catch (Exception e) {
                 obj.context().ifPresent(c -> c.onError(obj, ObjectiveError.UNKNOWN));
@@ -244,7 +246,7 @@
 
     @Test
     public void forwardTimeout() {
-        expect(mgr.flowObjectiveStore.getNextGroup(NID1)).andReturn(NGRP1).times(1);
+        expect(mgr.flowObjectiveStore.getNextGroup(NID1)).andReturn(NGRP1).times(2);
         expect(mgr.flowObjectiveStore.getNextGroup(NID2)).andReturn(NGRP2).times(2);
         replay(mgr.flowObjectiveStore);
 
diff --git a/lib/BUCK b/lib/BUCK
index f8156b7..5de40a3 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Wed, 30 May 2018 21:26:05 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Wed, 30 May 2018 22:37:13 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 pass_thru_pom(
@@ -342,10 +342,10 @@
 
 remote_jar (
   name = 'easymock',
-  out = 'easymock-3.4.jar',
-  url = 'mvn:org.easymock:easymock:jar:3.4',
-  sha1 = '9fdeea183a399f25c2469497612cad131e920fa3',
-  maven_coords = 'org.easymock:easymock:3.4',
+  out = 'easymock-3.6.jar',
+  url = 'mvn:org.easymock:easymock:jar:3.6',
+  sha1 = '276883daaf2230e6f1e07c78ad695d2a18c7170b',
+  maven_coords = 'org.easymock:easymock:3.6',
   visibility = [ 'PUBLIC' ],
 )
 
diff --git a/lib/deps.json b/lib/deps.json
index 8b69275..9fbcb98 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -131,7 +131,7 @@
     "commons-pool": "mvn:commons-pool:commons-pool:1.6",
     "commons-text": "mvn:org.apache.commons:commons-text:1.2",
     "concurrent-trees": "mvn:com.googlecode.concurrent-trees:concurrent-trees:2.6.1",
-    "easymock": "mvn:org.easymock:easymock:3.4",
+    "easymock": "mvn:org.easymock:easymock:3.6",
     "antlr": "mvn:antlr:antlr:2.7.7",
     "error_prone_annotations": "mvn:com.google.errorprone:error_prone_annotations:2.0.11",
     "ganymed-ssh2": "mvn:ch.ethz.ganymed:ganymed-ssh2:262",
diff --git a/tools/build/bazel/generate_workspace.bzl b/tools/build/bazel/generate_workspace.bzl
index a334c29..808dbe4 100644
--- a/tools/build/bazel/generate_workspace.bzl
+++ b/tools/build/bazel/generate_workspace.bzl
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Wed, 30 May 2018 21:26:10 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Wed, 30 May 2018 22:37:23 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 COMPILE = [
     '@commons_configuration//jar',
@@ -218,8 +218,8 @@
 
   native.maven_jar (
     name = 'easymock',
-    artifact = 'org.easymock:easymock:3.4',
-    sha1 = '9fdeea183a399f25c2469497612cad131e920fa3',
+    artifact = 'org.easymock:easymock:3.6',
+    sha1 = '276883daaf2230e6f1e07c78ad695d2a18c7170b',
   )
 
   native.maven_jar (
