diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/control/Dependencies.java b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/control/Dependencies.java
index 7e796b0..e4ecbce 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/control/Dependencies.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/control/Dependencies.java
@@ -33,7 +33,6 @@
 import org.eclipse.jdt.internal.compiler.impl.CompilerOptions.WeavingScheme;
 import org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding;
 import org.eclipse.jdt.internal.compiler.lookup.Binding;
-import org.eclipse.jdt.internal.compiler.lookup.CaptureBinding;
 import org.eclipse.jdt.internal.compiler.lookup.ClassScope;
 import org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment;
 import org.eclipse.jdt.internal.compiler.lookup.MemberTypeBinding;
@@ -46,6 +45,7 @@
 import org.eclipse.jdt.internal.compiler.lookup.TypeBinding;
 import org.eclipse.jdt.internal.compiler.lookup.TypeConstants;
 import org.eclipse.jdt.internal.compiler.lookup.TypeIds;
+import org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding;
 import org.eclipse.jdt.internal.compiler.parser.Parser;
 import org.eclipse.objectteams.otdt.core.compiler.IOTConstants;
 import org.eclipse.objectteams.otdt.core.compiler.OTNameUtils;
@@ -485,11 +485,10 @@
         TypeBinding proto = type.prototype();
         if (proto instanceof ReferenceBinding)
         	type = (ReferenceBinding) proto;
-        if (type instanceof CaptureBinding) {
+        if (type.isTypeVariable()) {
         	boolean success = true;
-        	CaptureBinding capture = (CaptureBinding)type;
-        	success &= ensureBindingState(capture.superclass, state);
-        	for (ReferenceBinding superIfc : capture.superInterfaces) {
+        	success &= ensureBindingState(((TypeVariableBinding) type).superclass, state);
+        	for (ReferenceBinding superIfc : ((TypeVariableBinding) type).superInterfaces) {
 				success &= ensureBindingState(superIfc, state);
 			}
         	return success;
diff --git a/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/other/OTNullTypeAnnotationTest.java b/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/other/OTNullTypeAnnotationTest.java
index b851ad5..f1f7386 100644
--- a/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/other/OTNullTypeAnnotationTest.java
+++ b/testplugins/org.eclipse.objectteams.otdt.tests/otjld/org/eclipse/objectteams/otdt/tests/otjld/other/OTNullTypeAnnotationTest.java
@@ -255,4 +255,23 @@
 			"----------\n");
 	}
 
+    public void testBug486292() {
+    	runConformTestWithLibs(
+    		new String[] {
+    			"X.java",
+    			"import java.util.*;\n" +
+    			"import org.eclipse.jdt.annotation.*;\n" +
+    			"public class X {\n" +
+    			"  public static <C extends Collection<?>>@NonNull C requireNonEmpty(@Nullable C value) {\n" + 
+    			"  	if ((value == null))\n" + 
+    			"   	   throw new NullPointerException();\n" + 
+    			"  	if (value.isEmpty())\n" + 
+    			"   	   throw new IllegalArgumentException();\n" + 
+    			"  	return value;\n" + 
+    			"  }\n" +
+    			"}\n"
+    		},
+    		getCompilerOptions(),
+    		"");
+    }
 }
