diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java
index 8dce1e9a4bb302cc7ae48af246232bbf9398268c..323afb40adddde6736f2985340e367fe931789a6 100644
--- a/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java
+++ b/java/src/com/android/inputmethod/latin/makedict/BinaryDictIOUtils.java
@@ -517,7 +517,7 @@ public final class BinaryDictIOUtils {
      * @param offset The offset in the file where to start reading the data.
      * @param length The length of the data file.
      */
-    public static FileHeader getDictionaryFileHeader(
+    private static FileHeader getDictionaryFileHeader(
             final File file, final long offset, final long length)
             throws FileNotFoundException, IOException, UnsupportedFormatException {
         final byte[] buffer = new byte[HEADER_READING_BUFFER_SIZE];
@@ -528,6 +528,7 @@ public final class BinaryDictIOUtils {
                             throws FileNotFoundException, IOException {
                         final FileInputStream inStream = new FileInputStream(file);
                         try {
+                            inStream.skip(offset);
                             inStream.read(buffer);
                             return new ByteArrayDictBuffer(buffer);
                         } finally {
diff --git a/java/src/com/android/inputmethod/latin/utils/DictionaryInfoUtils.java b/java/src/com/android/inputmethod/latin/utils/DictionaryInfoUtils.java
index 34eccd65b08f05ce578b2f37831b4947a1dcfc50..cec6dbab44224e99b9d5689e5cbdbfe16fa895b9 100644
--- a/java/src/com/android/inputmethod/latin/utils/DictionaryInfoUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/DictionaryInfoUtils.java
@@ -281,13 +281,7 @@ public class DictionaryInfoUtils {
     }
 
     public static FileHeader getDictionaryFileHeaderOrNull(final File file) {
-        try {
-            return BinaryDictIOUtils.getDictionaryFileHeader(file, 0, file.length());
-        } catch (UnsupportedFormatException e) {
-            return null;
-        } catch (IOException e) {
-            return null;
-        }
+        return BinaryDictIOUtils.getDictionaryFileHeaderOrNull(file, 0, file.length());
     }
 
     private static DictionaryInfo createDictionaryInfoFromFileAddress(