diff --git a/WORKSPACE b/WORKSPACE
index 37d70ea..2174cab 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -45,7 +45,6 @@
         "com.google.truth:truth:1.1.2",
         "junit:junit:4.12",
         "org.easymock:easymock:3.2",
-        "org.easymock:easymockclassextension:3.2",
     ],
     repositories = [
         "https://repo1.maven.org/maven2",
diff --git a/java/core/BUILD b/java/core/BUILD
index 8ac355e..42124bb 100644
--- a/java/core/BUILD
+++ b/java/core/BUILD
@@ -361,7 +361,6 @@
         ":java_test_protos_java_proto_lite",
         ":test_util_lite",
         "//external:easymock",
-        "//external:easymock_classextension",
         "//external:junit",
         "//external:truth",
     ]
diff --git a/java/core/pom.xml b/java/core/pom.xml
index 838f4a7..3b56150 100644
--- a/java/core/pom.xml
+++ b/java/core/pom.xml
@@ -28,11 +28,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <scope>test</scope>
diff --git a/java/core/src/test/java/com/google/protobuf/ServiceTest.java b/java/core/src/test/java/com/google/protobuf/ServiceTest.java
index 8b98661..d799678 100644
--- a/java/core/src/test/java/com/google/protobuf/ServiceTest.java
+++ b/java/core/src/test/java/com/google/protobuf/ServiceTest.java
@@ -46,9 +46,9 @@
 import protobuf_unittest.no_generic_services_test.UnittestNoGenericServices;
 import java.util.HashSet;
 import java.util.Set;
-import org.easymock.classextension.EasyMock;
+import org.easymock.EasyMock;
 import org.easymock.IArgumentMatcher;
-import org.easymock.classextension.IMocksControl;
+import org.easymock.IMocksControl;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -80,7 +80,7 @@
     BarRequest barRequest = BarRequest.newBuilder().build();
     MockCallback<Message> fooCallback = new MockCallback<Message>();
     MockCallback<Message> barCallback = new MockCallback<Message>();
-    TestService mockService = control.createMock(TestService.class);
+    TestService mockService = EasyMock.createMock(TestService.class);
 
     mockService.foo(
         EasyMock.same(mockController),
@@ -104,7 +104,7 @@
   /** Tests Service.get{Request,Response}Prototype(). */
   @Test
   public void testGetPrototype() throws Exception {
-    TestService mockService = control.createMock(TestService.class);
+    TestService mockService = EasyMock.createMock(TestService.class);
 
     assertThat(mockService.getRequestPrototype(fooDescriptor))
         .isSameInstanceAs(FooRequest.getDefaultInstance());
diff --git a/java/kotlin-lite/pom.xml b/java/kotlin-lite/pom.xml
index 0720766..57416d3 100644
--- a/java/kotlin-lite/pom.xml
+++ b/java/kotlin-lite/pom.xml
@@ -36,11 +36,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <scope>test</scope>
diff --git a/java/kotlin/pom.xml b/java/kotlin/pom.xml
index ad25304..40394eb 100644
--- a/java/kotlin/pom.xml
+++ b/java/kotlin/pom.xml
@@ -35,11 +35,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <scope>test</scope>
diff --git a/java/lite/pom.xml b/java/lite/pom.xml
index a7bbc96..ac4f25c 100644
--- a/java/lite/pom.xml
+++ b/java/lite/pom.xml
@@ -28,11 +28,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <scope>test</scope>
diff --git a/java/pom.xml b/java/pom.xml
index 650bbcf..9864f73 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -81,13 +81,7 @@
       <dependency>
         <groupId>org.easymock</groupId>
         <artifactId>easymock</artifactId>
-        <version>2.2</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.easymock</groupId>
-        <artifactId>easymockclassextension</artifactId>
-        <version>2.2.1</version>
+        <version>3.2</version>
         <scope>test</scope>
       </dependency>
       <dependency>
diff --git a/java/util/pom.xml b/java/util/pom.xml
index 6585307..06f6c1b 100644
--- a/java/util/pom.xml
+++ b/java/util/pom.xml
@@ -51,10 +51,6 @@
       <artifactId>easymock</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-    </dependency>
-    <dependency>
       <groupId>com.google.truth</groupId>
       <artifactId>truth</artifactId>
       <scope>test</scope>
