diff --git a/maven-test-tools/pom.xml b/maven-test-tools/pom.xml
index be25c6b..6800bdb 100644
--- a/maven-test-tools/pom.xml
+++ b/maven-test-tools/pom.xml
@@ -39,7 +39,7 @@
     <dependency>
       <groupId>org.easymock</groupId>
       <artifactId>easymock</artifactId>
-      <version>2.5.2</version>
+      <version>3.2</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
diff --git a/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/MockManager.java b/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/MockManager.java
index ea6bd82..9df0b41 100644
--- a/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/MockManager.java
+++ b/maven-test-tools/src/main/java/org/apache/maven/shared/tools/easymock/MockManager.java
@@ -22,22 +22,22 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.easymock.MockControl;
+import org.easymock.IMocksControl;
 
 /**
- * Manager of MockControl
+ * Manager of IMocksControl
  *
  * @version $Id$
- * @see MockControl
+ * @see IMocksControl
  */
 public class MockManager
 {
-    private List<MockControl> mockControls = new ArrayList<MockControl>();
+    private List<IMocksControl> mockControls = new ArrayList<IMocksControl>();
 
     /**
      * @param control to be add to the manager
      */
-    public void add( MockControl control )
+    public void add( IMocksControl control )
     {
         mockControls.add( control );
     }
@@ -55,7 +55,7 @@
      */
     public void replayAll()
     {
-        for ( MockControl control : mockControls )
+        for ( IMocksControl control : mockControls )
         {
             control.replay();
         }
@@ -66,7 +66,7 @@
      */
     public void verifyAll()
     {
-        for ( MockControl control : mockControls )
+        for ( IMocksControl control : mockControls )
         {
             control.verify();
         }
