Importing non-proto2 files now shows a warning.
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/TypeDescriptions.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/TypeDescriptions.java
index 2258513..835d74b 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/TypeDescriptions.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/TypeDescriptions.java
@@ -21,6 +21,7 @@
 import org.eclipse.xtext.resource.IEObjectDescription;
 
 import com.google.eclipse.protobuf.model.util.*;
+import com.google.eclipse.protobuf.parser.NonProto2;
 import com.google.eclipse.protobuf.protobuf.*;
 import com.google.eclipse.protobuf.protobuf.Package;
 import com.google.inject.Inject;
@@ -98,6 +99,7 @@
       }
       Resource importedResource = resources.importedResource(anImport, resourceSet);
       Protobuf rootOfImported = finder.rootOf(importedResource);
+      if (rootOfImported instanceof NonProto2) continue;
       if (rootOfImported != null) {
         descriptions.addAll(publicImported(rootOfImported, targetType));
         if (arePackagesRelated(aPackage, rootOfImported)) {
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.java
index 3c610fc..07f30b4 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.java
@@ -22,6 +22,7 @@
   public static String expectedTrueOrFalse;
   public static String fieldNumberAlreadyUsed;
   public static String fieldNumbersMustBePositive;
+  public static String importingNonProto2;
   public static String importNotFound;
   public static String missingFieldNumber;
   public static String multiplePackages;
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.properties b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.properties
index fdbabb1..688c504 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.properties
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/Messages.properties
@@ -5,6 +5,7 @@
 expectedTrueOrFalse = Expected "true" or "false".
 fieldNumberAlreadyUsed = Field number %d has already been used in \"%s\" by field \"%s\".
 fieldNumbersMustBePositive = Field numbers must be positive integers.
+importingNonProto2 = Importing non-proto2 file. This may result in errors related to unresolved references.
 importNotFound = Import \"%s\" was not found.
 missingFieldNumber = Missing field number.
 multiplePackages = Multiple package definitions.
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufJavaValidator.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufJavaValidator.java
index e3b7e6e..ca2221d 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufJavaValidator.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/validation/ProtobufJavaValidator.java
@@ -15,6 +15,7 @@
 
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.*;
 import org.eclipse.xtext.naming.*;
 import org.eclipse.xtext.scoping.impl.ImportUriResolver;
 import org.eclipse.xtext.validation.Check;
@@ -35,9 +36,11 @@
   public static final String MORE_THAN_ONE_PACKAGE_ERROR = "moreThanOnePackage";
 
   @Inject private FieldOptions fieldOptions;
+  @Inject private ModelFinder finder;
   @Inject private ImportUriResolver uriResolver;
   @Inject private IQualifiedNameProvider qualifiedNameProvider;
   @Inject private Properties properties;
+  @Inject private Resources resources;
 
   @Check public void checkIsProto2(Protobuf protobuf) {
     if (protobuf instanceof NonProto2) {
@@ -58,15 +61,36 @@
       error(expectedTrueOrFalse, FIELD_OPTION__VALUE);
     }
   }
+  
+  @Check public void checkIsImportingNonProto2File(Import anImport) {
+    if (!retryUntilItIsResolved(anImport)) return;
+    Resource imported = importedResource(anImport);
+    Protobuf root = finder.rootOf(imported);
+    if (root instanceof NonProto2) {
+      warning(importingNonProto2, IMPORT__IMPORT_URI);
+    }
+  }
+  
+  private Resource importedResource(Import anImport) {
+    ResourceSet resourceSet = resourceSet(anImport);
+    return resources.importedResource(anImport, resourceSet);
+  }
+  
+  private ResourceSet resourceSet(EObject e) {
+    Protobuf root = finder.rootOf(e);
+    return root.eResource().getResourceSet();
+  }
 
   @Check public void checkImportIsResolved(Import anImport) {
-    boolean isResolved = isResolved(anImport);
-    if (isResolved) return;
-    uriResolver.apply(anImport);
-    isResolved = isResolved(anImport);
-    if (isResolved) return;
+    if (retryUntilItIsResolved(anImport)) return;
     error(format(importNotFound, anImport.getImportURI()), IMPORT__IMPORT_URI);
   }
+  
+  private boolean retryUntilItIsResolved(Import anImport) {
+    if (isResolved(anImport)) return true;
+    uriResolver.apply(anImport);
+    return isResolved(anImport);
+  }
 
   private boolean isResolved(Import anImport) {
     String importUri = anImport.getImportURI();