diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/statemachine/transformer/SwitchOnBaseTypeGenerator.java b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/statemachine/transformer/SwitchOnBaseTypeGenerator.java
index ea75348..80f5f7d 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/statemachine/transformer/SwitchOnBaseTypeGenerator.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/statemachine/transformer/SwitchOnBaseTypeGenerator.java
@@ -25,6 +25,7 @@
 import org.eclipse.jdt.internal.compiler.ast.Expression;
 import org.eclipse.jdt.internal.compiler.ast.IfStatement;
 import org.eclipse.jdt.internal.compiler.ast.Statement;
+import org.eclipse.jdt.internal.compiler.impl.CompilerOptions.WeavingScheme;
 import org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
 import org.eclipse.objectteams.otdt.core.compiler.IOTConstants;
 import org.eclipse.objectteams.otdt.internal.core.compiler.lookup.WeakenedTypeBinding;
@@ -98,7 +99,7 @@
 	    ReferenceBinding castType = null;
 	    if (staticRoleType.baseclass() instanceof WeakenedTypeBinding)
 	    	castType = ((WeakenedTypeBinding)staticRoleType.baseclass()).getStrongType();
-    	else if (hasBindingAmbiguity)
+    	else if (hasBindingAmbiguity || caseObjects[0].getWeavingScheme() == WeavingScheme.OTDRE)
     		castType = staticBaseType;
 	    if (castType != null)
 	    	baseArg = gen.castExpression(baseArg, gen.typeReference(castType), CastExpression.RAW);
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/teamactivation/Predicates.java b/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/teamactivation/Predicates.java
index 655eeef..b5523ab 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/teamactivation/Predicates.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/teamactivation/Predicates.java
@@ -3203,4 +3203,45 @@
             customOptions,
             null/*no custom requestor*/);
     }
+
+    public void testBugXYZ() {
+    	runConformTest(
+    		new String[] {
+    			"bugxyz/Main.java",
+    			"package bugxyz;\n" + 
+    			"\n" +
+    			"public class Main {\n" + 
+    			"	public static void main(String[] args) {\n" + 
+    			"		new T1().activate();\n" + 
+    			"		new B1().foo();\n" + 
+    			"	}\n" + 
+    			"}\n",
+    			"bugxzy/B1.java",
+    			"package bugxyz;\n" + 
+    			"\n" + 
+    			"public class B1 {\n" + 
+    			"	boolean test() { return true; }\n" + 
+    			"	void foo() { }\n" + 
+    			"}\n",
+    			"bugxzy/B2.java",
+    			"package bugxyz;\n" + 
+    			"\n" + 
+    			"public class B2 extends B1 {}\n",
+    			"bugxyz/T1.java",
+    			"package bugxyz;\n" + 
+    			"\n" + 
+    			"public team class T1 {\n" + 
+    			"	protected class R1 playedBy B1 {\n" + 
+    			"		bar <- before foo\n" + 
+    			"			base when (base.test());\n" + 
+    			"\n" + 
+    			"		private void bar() {\n" + 
+    			"			System.out.println(\"bar\");\n" + 
+    			"		}\n" + 
+    			"	}\n" + 
+    			"	protected class R2 extends R1 playedBy B2 { }\n" + 
+    			"}\n"
+    		},
+    		"bar");
+    }
 }
