Remove useless double synchronization, 
method is already synchronized on the same (class) monitor
diff --git a/plugins/org.eclipse.objectteams.runtime/src/org/eclipse/objectteams/otre/StaticSliceBaseTransformation.java b/plugins/org.eclipse.objectteams.runtime/src/org/eclipse/objectteams/otre/StaticSliceBaseTransformation.java
index ab76fc1..92faa22 100644
--- a/plugins/org.eclipse.objectteams.runtime/src/org/eclipse/objectteams/otre/StaticSliceBaseTransformation.java
+++ b/plugins/org.eclipse.objectteams.runtime/src/org/eclipse/objectteams/otre/StaticSliceBaseTransformation.java
@@ -21,7 +21,6 @@
 import org.apache.bcel.classfile.*;
 import org.apache.bcel.generic.*;
 import org.apache.bcel.*;
-
 import org.eclipse.objectteams.otre.util.*;
 import org.eclipse.objectteams.otre.util.CallinBindingManager.BoundSuperKind;
 
@@ -209,8 +208,6 @@
                                                     new String[] { "team", "teamID" },
                                                     "_OT$addTeam", class_name,
                                                     il, cpg);
-	    // synchronized (BaseClass.class) {
-	  int monitor = addClassMonitorEnter(addTeamMethod, il, class_name, major, cpg).first;
 
 		il.append(factory.createFieldAccess(class_name, _OT_ACTIVE_TEAMS, teamArray, Constants.GETSTATIC));
 		il.append(new ARRAYLENGTH());
@@ -306,13 +303,10 @@
 			// generated: _OT$activateNotify(team, teamID);
 		}
 		
-	    // No more access to array fields, release monitor:
-	  InstructionHandle exitSequence =
-		il.append(InstructionFactory.createLoad(Type.OBJECT, monitor));
-	    il.append(new MONITOREXIT());
-	    earlyExit.setTarget(exitSequence);
-
+	  InstructionHandle exit =
 		il.append(InstructionFactory.createReturn(Type.VOID));
+	    earlyExit.setTarget(exit);
+
 
 		addTeamMethod.setMaxStack();
 		addTeamMethod.setMaxLocals();
@@ -370,9 +364,6 @@
                                                     "_OT$removeTeam", class_name,
                                                     il, cpg);
 
-	    // synchronized (BaseClass.class) {
-	    int monitor = addClassMonitorEnter(removeTeamMethod, il, class_name, major, cpg).first;
-
 		il.append(factory.createFieldAccess(class_name, _OT_ACTIVE_TEAMS, teamArray, Constants.GETSTATIC));
 		il.append(new ARRAYLENGTH());
 		lg = removeTeamMethod.addLocalVariable("l", Type.INT, null, null);
@@ -522,14 +513,10 @@
 			// generated: _OT$deactivateNotify(team);
 		}
 
-	    // No more access to array fields, release monitor:
-	  InstructionHandle exitSequence =
-	    il.append(InstructionFactory.createLoad(Type.OBJECT, monitor));
-	    il.append(new MONITOREXIT());
-	    earlyExit.setTarget(exitSequence);
-	    notFound.setTarget(exitSequence);
-
+	  InstructionHandle exit =
 		il.append(InstructionFactory.createReturn(Type.VOID));
+	  	earlyExit.setTarget(exit);
+	  	notFound.setTarget(exit);
 
 		removeTeamMethod.setMaxStack();
 		removeTeamMethod.setMaxLocals();