diff --git a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java b/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java
index e405d55..999cfb9 100644
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java
+++ b/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java
@@ -56,6 +56,7 @@
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.MockedStatic;
+import org.mockito.Mockito;
 import org.mockito.Spy;
 import org.mockito.internal.configuration.injection.scanner.MockScanner;
 import org.mockito.invocation.InvocationOnMock;
@@ -91,7 +92,8 @@
 	protected final static JSONObject MSG_BASE = new JSONObject();
 
 	@BeforeEach
-	public void setup() {
+	public void baseSetup() {
+		Mockito.reset();
 		lenient().doReturn(kServerManager).when(client).getServerManager();
 		lenient().doReturn(new TransactionImpl(romManager)).when(client).beginTransaction();
 		handler.init();
diff --git a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java b/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java
index 377d48b..ea4ee48 100644
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java
+++ b/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java
@@ -68,10 +68,8 @@
 	//This variable hold a reference to the UID of the StreamDesc that will be created
 	private String streamDescUID;
 
-	@Override
 	@BeforeEach
 	public void setup() {
-		super.setup();
 		User u = new User();
 		u.setId(USER_ID);
 		u.setFirstname("firstname");
diff --git a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java b/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java
index d120f9b..b7e1510 100644
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java
+++ b/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java
@@ -57,10 +57,8 @@
 	@Mock
 	private IApplication app;
 
-	@Override
 	@BeforeEach
 	public void setup() {
-		super.setup();
 		lenient().doReturn(mock(MediaPipeline.class)).when(client).createMediaPipeline(any(Transaction.class));
 		User u = new User();
 		u.setId(USER_ID);
diff --git a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestSetupFlowMocked.java b/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestSetupFlowMocked.java
index be0d630..70632b6 100644
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestSetupFlowMocked.java
+++ b/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestSetupFlowMocked.java
@@ -35,10 +35,8 @@
 import com.github.openjson.JSONObject;
 
 class TestSetupFlowMocked extends BaseMockedTest {
-	@Override
 	@BeforeEach
 	public void setup() {
-		super.setup();
 		doReturn(true).when(handler).isConnected();
 		MSG_BASE.put(TAG_MODE, MODE_TEST);
 	}
