diff --git a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder_findRootOf_Test.java b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder_findRootOf_Test.java
index be531f2..ff28551 100644
--- a/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder_findRootOf_Test.java
+++ b/com.google.eclipse.protobuf.ui.test/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder_findRootOf_Test.java
@@ -8,6 +8,7 @@
  */
 package com.google.eclipse.protobuf.ui.builder;
 
+import static java.io.File.separator;
 import static org.hamcrest.core.IsEqual.equalTo;
 import static org.hamcrest.core.IsNull.nullValue;
 import static org.junit.Assert.assertThat;
@@ -41,11 +42,21 @@
 
   @Test public void should_throw_error_if_path_does_not_contain_descriptor_FQN() {
     thrown.expect(IllegalArgumentException.class);
+    if (separator.equals("\\")) {
+      thrown.expectMessage("Path '\\usr\\local\\include' does not contain '\\google\\protobuf\\descriptor.proto'");
+      finder.findRootOf("\\usr\\local\\include");
+      return;
+    }
     thrown.expectMessage("Path '/usr/local/include' does not contain '/google/protobuf/descriptor.proto'");
     finder.findRootOf("/usr/local/include");
   }
 
   @Test public void should_find_import_root_of_descriptor() {
+    if (separator.equals("\\")) {
+      String filePath = "\\usr\\local\\include\\google\\protobuf\\descriptor.proto";
+      assertThat(finder.findRootOf(filePath), equalTo("\\usr\\local\\include"));
+      return;
+    }
     String filePath = "/usr/local/include/google/protobuf/descriptor.proto";
     assertThat(finder.findRootOf(filePath), equalTo("/usr/local/include"));
   }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder.java
index 1e1dd46..f2d984a 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtoDescriptorPathFinder.java
@@ -8,15 +8,16 @@
  */
 package com.google.eclipse.protobuf.ui.builder;
 
-import static com.google.eclipse.protobuf.scoping.ProtoDescriptor.DESCRIPTOR_IMPORT_URI;
-import static org.eclipse.xtext.util.Strings.isEmpty;
+import static java.io.File.separator;
+import static java.util.Arrays.asList;
+import static org.eclipse.xtext.util.Strings.*;
 
 /**
  * @author alruiz@google.com (Alex Ruiz)
  */
 class ProtoDescriptorPathFinder {
 
-  private static final String DESCRIPTOR_FQN = "/" + DESCRIPTOR_IMPORT_URI;
+  private static final String DESCRIPTOR_FQN = concat(separator, asList("", "google", "protobuf", "descriptor.proto"));
 
   public String findRootOf(String descriptorFilePath) {
     if (isEmpty(descriptorFilePath)) return null;
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/ContentReader.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/ContentReader.java
index 107ca0a..e2d5c1c 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/ContentReader.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/ContentReader.java
@@ -8,7 +8,7 @@
  */
 package com.google.eclipse.protobuf.ui.editor.model;
 
-import static com.google.eclipse.protobuf.util.Closeables.close;
+import static com.google.eclipse.protobuf.util.Closeables.closeQuietly;
 import static com.google.eclipse.protobuf.util.Encodings.UTF_8;
 
 import java.io.*;
@@ -36,7 +36,7 @@
       }
       return contents.toString();
     } finally {
-      close(reader);
+      closeQuietly(reader);
     }
   }
 
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/FileStoreDocumentContentsFactory.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/FileStoreDocumentContentsFactory.java
index d61e573..aa924f5 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/FileStoreDocumentContentsFactory.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/FileStoreDocumentContentsFactory.java
@@ -9,7 +9,7 @@
 package com.google.eclipse.protobuf.ui.editor.model;
 
 import static com.google.eclipse.protobuf.ui.exception.CoreExceptions.error;
-import static com.google.eclipse.protobuf.util.Closeables.close;
+import static com.google.eclipse.protobuf.util.Closeables.closeQuietly;
 
 import java.io.*;
 
@@ -50,7 +50,7 @@
       inputStream = new FileInputStream(file);
       return contentReader.contentsOf(inputStream);
     } finally {
-      close(inputStream);
+      closeQuietly(inputStream);
     }
   }
 
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/UriDocumentContentsFactory.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/UriDocumentContentsFactory.java
index a4123e5..089a50f 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/UriDocumentContentsFactory.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/model/UriDocumentContentsFactory.java
@@ -9,7 +9,7 @@
 package com.google.eclipse.protobuf.ui.editor.model;
 
 import static com.google.eclipse.protobuf.ui.exception.CoreExceptions.error;
-import static com.google.eclipse.protobuf.util.Closeables.close;
+import static com.google.eclipse.protobuf.util.Closeables.closeQuietly;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -53,7 +53,7 @@
       inputStream = url.openConnection().getInputStream();
       return contentReader.contentsOf(inputStream);
     } finally {
-      close(inputStream);
+      closeQuietly(inputStream);
     }
   }
 
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/util/Paths.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/util/Paths.java
index edcada6..31a545f 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/util/Paths.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/util/Paths.java
@@ -8,7 +8,7 @@
  */
 package com.google.eclipse.protobuf.ui.util;
 
-import java.io.File;
+import static java.io.File.separator;
 
 /**
  * Utility methods related to paths.
@@ -25,7 +25,7 @@
    */
   public static String[] segmentsOf(String path) {
     if (path == null) throw new NullPointerException("The given path should not be null");
-    return path.split(File.separator);
+    return path.split(separator);
   }
   
   private Paths() {}
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor.java
index b27a2cf..a09197c 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor.java
@@ -10,7 +10,7 @@
 
 import static com.google.eclipse.protobuf.protobuf.ProtobufPackage.Literals.PROPERTY__TYPE;
 import static com.google.eclipse.protobuf.scoping.OptionType.*;
-import static com.google.eclipse.protobuf.util.Closeables.close;
+import static com.google.eclipse.protobuf.util.Closeables.closeQuietly;
 import static com.google.eclipse.protobuf.util.Encodings.UTF_8;
 import static java.util.Collections.*;
 import static org.eclipse.xtext.EcoreUtil2.*;
@@ -77,7 +77,7 @@
     } catch (Throwable t) {
       throw new IllegalStateException("Unable to parse descriptor.proto", t);
     } finally {
-      close(reader);
+      closeQuietly(reader);
     }
   }
 
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/util/Closeables.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/util/Closeables.java
index 1065f29..0e4d490 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/util/Closeables.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/util/Closeables.java
@@ -18,11 +18,11 @@
 public class Closeables {
   
   /**
-   * Invokes {@code close()} on the given <code>{@link Cloneable}</code>, ignoring any thrown exceptions.
+   * Invokes {@code close()} on the given <code>{@link Closeable}</code>, ignoring any thrown exceptions.
    * @param c the given {@code Closeable}.
    * @return {@code false} if the given {@code Closeable} was {@code null}; {@code true} otherwise.
    */
-  public static boolean close(Closeable c) {
+  public static boolean closeQuietly(Closeable c) {
     if (c == null) return false;
     try {
       c.close();
