diff --git a/PGLW/main/boxmesh.py b/PGLW/main/boxmesh.py
index d4702d3353a2a749cf8938fd9201b5ec73a4da59..223a084981c8cd9106a7bd993227ce35771ca436 100644
--- a/PGLW/main/boxmesh.py
+++ b/PGLW/main/boxmesh.py
@@ -1,4 +1,5 @@
 import numpy as np
+import sys
 
 try:
     import matplotlib.pyplot as plt
@@ -189,6 +190,13 @@ class BoxMesh(Domain):
 
         # Add shift (assume z-direction is ground and top)
         if self.staggered:
+            if nbj > 96:
+                print(
+                    "ERROR: the number of blocks in y-dir is",
+                    nbj,
+                    "but cannot be more than 96 when staggered=True.",
+                )
+                sys.exit()
             for k in range(nbk):
                 for j in range(nbj):
                     in_ind = nbj + 1 - j - 1
@@ -219,10 +227,12 @@ class BoxMesh(Domain):
                 print("Writing x3d file {:}".format(self.filename))
                 with open(self.filename, "w") as f:
                     f.write(
-                        "          {:d}          {:d}\n".format(bsize, nbm)
+                        "          {:d}          {:d}\n".format(
+                            self.bsize, nbm
+                        )
                     )
-                    for bname in self.locks.keys():
-                        temp = np.empty(((bsize + 1) ** 3, 4))
+                    for bname in self.blocks.keys():
+                        temp = np.empty(((self.bsize + 1) ** 3, 4))
                         temp[:, 0] = (
                             self.blocks[bname].scalars["attr"].flatten()
                         )