*fix
diff --git a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/core/DLTKContentTypeManager.java b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/core/DLTKContentTypeManager.java
index 9c54a73..1278ed1 100644
--- a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/core/DLTKContentTypeManager.java
+++ b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/core/DLTKContentTypeManager.java
@@ -99,6 +99,14 @@
 
 	public static boolean isValidResourceForContentType(
 			IDLTKLanguageToolkit toolkit, IResource resource) {
+		// Custom filtering via language tookit
+		if (resource instanceof IFile) {
+			IStatus status = toolkit.validateSourceModule(resource);
+			if (status.getSeverity() != IStatus.OK) {
+				return false;
+			}
+		}
+
 		if (isValidFileNameForContentType(toolkit, resource.getFullPath()
 				.lastSegment())) {
 			return true;
@@ -124,11 +132,6 @@
 		}
 
 		if (resource instanceof IFile) {
-			// Custom filtering via language tookit
-			IStatus status = toolkit.validateSourceModule(resource);
-			if (status.getSeverity() != IStatus.OK) {
-				return false;
-			}
 			IFile file = (IFile) resource;
 			IContentType masterType = getMasterContentType(toolkit
 					.getLanguageContentType());