diff --git a/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/java/edu/uci/ics/asterix/recordmanagergenerator/RecordType.java b/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/java/edu/uci/ics/asterix/recordmanagergenerator/RecordType.java
index 97e10d4..d102481 100644
--- a/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/java/edu/uci/ics/asterix/recordmanagergenerator/RecordType.java
+++ b/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/java/edu/uci/ics/asterix/recordmanagergenerator/RecordType.java
@@ -160,6 +160,9 @@
         }
         
         StringBuilder appendChecks(StringBuilder sb, String indent, int level) {
+            if (debugField) {
+                return sb;
+            }
             sb = indent(sb, indent, level);
             sb.append("if (bb.")
               .append(bbGetter(type))
@@ -169,7 +172,11 @@
               .append(deadMemInitializer(type))
               .append(") {\n");
             sb = indent(sb, indent, level + 1);
-            sb.append("System.err.println(allocList.get(slotNum));\n");
+            sb.append("String msg = \"invalid value in field ")
+              .append(offsetName())
+              .append(" of slot \" + slotNum;\n");
+            sb = indent(sb, indent, level + 1);
+            sb.append("throw new IllegalStateException(msg);\n");
             sb = indent(sb, indent, level);
             sb.append("}\n");
             return sb;
diff --git a/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/resources/RecordManager.java b/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/resources/RecordManager.java
index 54a9844..03ac51f 100644
--- a/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/resources/RecordManager.java
+++ b/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/resources/RecordManager.java
@@ -15,8 +15,6 @@
 
 package edu.uci.ics.asterix.transaction.management.service.locking;
 
-import java.io.PrintWriter;
-import java.io.StringWriter;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 
@@ -282,7 +280,7 @@
         }
         
         private void checkSlot(int slotNum) {
-            if (true || ! TRACK_ALLOC) {
+            if (! TRACK_ALLOC) {
                 return;
             }
             final int itemOffset = (slotNum % NO_SLOTS) * ITEM_SIZE;
