diff --git a/org.eclipse.ajdt.ui.tests/src/org/eclipse/ajdt/ui/tests/editor/contentassist/ContentAssistTest.java b/org.eclipse.ajdt.ui.tests/src/org/eclipse/ajdt/ui/tests/editor/contentassist/ContentAssistTest.java
index 3906c8d..03e820d 100644
--- a/org.eclipse.ajdt.ui.tests/src/org/eclipse/ajdt/ui/tests/editor/contentassist/ContentAssistTest.java
+++ b/org.eclipse.ajdt.ui.tests/src/org/eclipse/ajdt/ui/tests/editor/contentassist/ContentAssistTest.java
@@ -12,7 +12,6 @@
 
 import org.eclipse.ajdt.core.javaelements.AJCompilationUnit;
 import org.eclipse.ajdt.core.javaelements.AJCompilationUnitManager;
-import org.eclipse.ajdt.internal.ui.AJDTConfigSettings;
 import org.eclipse.ajdt.internal.ui.editor.AspectJEditor;
 import org.eclipse.ajdt.internal.ui.editor.contentassist.AJCompletionProcessor;
 import org.eclipse.ajdt.ui.tests.AllUITests;
@@ -49,7 +48,6 @@
 	protected void setUp() throws Exception {
 		super.setUp();
 		AllUITests.setupAJDTPlugin();
-		AJDTConfigSettings.setDefaultEditorForJavaFiles(true);
 		fProject = createPredefinedProject("CodeCompletionTestArea"); //$NON-NLS-1$
 	}
 	
@@ -105,7 +103,7 @@
 	}
 	
 	private ICompletionProposal[] getCompletionProposals(IFile file, String marker) throws JavaModelException{
-		AspectJEditor editor = (AspectJEditor)openFileInDefaultEditor(file, false);
+		AspectJEditor editor = (AspectJEditor)openFileInAspectJEditor(file, false);
 		AJCompletionProcessor proc = new AJCompletionProcessor(editor, getContentAssistant(editor), IDocument.DEFAULT_CONTENT_TYPE);
 		AJCompilationUnit unit = AJCompilationUnitManager.INSTANCE.getAJCompilationUnit(file);
 		String content;
