diff --git a/asterix-app/data/escapes-err-1.adm b/asterix-app/data/escapes-err-1.adm
new file mode 100644
index 0000000..5b70bc7
--- /dev/null
+++ b/asterix-app/data/escapes-err-1.adm
@@ -0,0 +1 @@
+{ "id": "a\bc" }
diff --git a/asterix-app/data/escapes.adm b/asterix-app/data/escapes.adm
index d8193c1..0fd9f20c 100644
--- a/asterix-app/data/escapes.adm
+++ b/asterix-app/data/escapes.adm
@@ -1,3 +1,5 @@
 { "id": "abc" }
 { "id": "\"abc\"" }
 { "id": "\\abc\\" }
+{ "id": "\\\\abc" }
+{ "id": "\\\"abc" }
diff --git a/asterix-app/src/test/resources/runtimets/queries/load/escapes-err-1/escapes-err-1.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/load/escapes-err-1/escapes-err-1.1.ddl.aql
new file mode 100644
index 0000000..28a27d1
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/load/escapes-err-1/escapes-err-1.1.ddl.aql
@@ -0,0 +1,10 @@
+drop dataverse TestDataverse if exists;
+create dataverse TestDataverse;
+use dataverse TestDataverse;
+
+create type TestType as {
+  id: string
+}
+
+create dataset TestSet(TestType)
+primary key id;
diff --git a/asterix-app/src/test/resources/runtimets/queries/load/escapes-err-1/escapes-err-1.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/load/escapes-err-1/escapes-err-1.2.update.aql
new file mode 100644
index 0000000..93a67f5
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/load/escapes-err-1/escapes-err-1.2.update.aql
@@ -0,0 +1,3 @@
+use dataverse TestDataverse;
+
+load dataset TestSet using localfs (("path"="nc1://data/escapes-err-1.adm"),("format"="adm"));
diff --git a/asterix-app/src/test/resources/runtimets/results/load/escapes/escapes.1.adm b/asterix-app/src/test/resources/runtimets/results/load/escapes/escapes.1.adm
index 68d1632..adea811 100644
--- a/asterix-app/src/test/resources/runtimets/results/load/escapes/escapes.1.adm
+++ b/asterix-app/src/test/resources/runtimets/results/load/escapes/escapes.1.adm
@@ -1,3 +1,5 @@
 { "id": "\"abc\"" }
+{ "id": "\\\"abc" }
+{ "id": "\\\\abc" }
 { "id": "\\abc\\" }
 { "id": "abc" }
diff --git a/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterix-app/src/test/resources/runtimets/testsuite.xml
index 880c41f..d1297a4 100644
--- a/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -4750,6 +4750,12 @@
         <output-dir compare="Text">escapes</output-dir>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="load">
+      <compilation-unit name="escapes-err-1">
+        <output-dir compare="Text">none</output-dir>
+        <expected-error>edu.uci.ics.hyracks.api.exceptions.HyracksException</expected-error>
+      </compilation-unit>
+    </test-case>
      <test-case FilePath="user-defined-functions">
       <compilation-unit name="query-issue244">
         <output-dir compare="Text">query-issue244</output-dir>
diff --git a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java
index ac92355..012c5e9 100644
--- a/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java
+++ b/asterix-runtime/src/main/java/edu/uci/ics/asterix/runtime/operators/file/ADMDataParser.java
@@ -372,8 +372,27 @@
         }
     }
 
-    private String replaceEscapes(String tokenImage) {
-        return tokenImage.replace("\\\"", "\"").replace("\\\\", "\\");
+    private String replaceEscapes(String tokenImage) throws ParseException {
+        char[] chars = tokenImage.toCharArray();
+        int len = chars.length;
+        int idx = 0;
+        while (idx < len) {
+            if (chars[idx] == '\\') {
+                switch (chars[idx + 1]) {
+                    case '\\':
+                    case '\"':
+                        for (int i = idx + 1; i < len; ++i) {
+                            chars[i - 1] = chars[i];
+                        }
+                        --len;
+                        break;
+                    default:
+                        throw new ParseException("Illegal escape '\\" + chars[idx + 1] + "'");
+                }
+            }
+            ++idx;
+        }
+        return new String(chars, 0, len);
     }
 
     private IAType getComplexType(IAType aObjectType, ATypeTag tag) {
