diff --git a/battery-case-generator.py b/battery-case-generator.py
index 1b7b0e9..6063b04 100755
--- a/battery-case-generator.py
+++ b/battery-case-generator.py
@@ -52,7 +52,7 @@ args.plug_edge = args.interior_edge-args.thickness
args.exterior_edge = args.interior_edge+2.0*args.thickness
args.interior_leg = (args.interior_edge-args.horizontal_finger-args.kerf)/2-args.corner_inset
finger_length = args.interior_edge-2.0*args.corner_inset
-args.n_hor_fingers = int(finger_length/args.horizontal_finger/2)
+args.n_hor_fingers = max(int(finger_length/args.horizontal_finger/2), 1)
args.exterior_leg = (finger_length-(2*args.n_hor_fingers-1)*args.horizontal_finger+args.kerf)/2
args.exterior_slot = (args.exterior_edge-args.horizontal_finger+args.kerf)/2
args.n_ver_fingers = int(args.height/args.vertical_finger/2)
@@ -62,8 +62,9 @@ args.slots = [args.vertical_finger*2.5-args.thickness*0.5, args.vertical
if args.verbose:
print(args, file=sys.stderr)
-DIMX = 5.0*args.grid*args.dimension
-DIMY = 2.5*args.grid*args.dimension+args.height+3.0*args.thickness
+BOX = 2.0*args.exterior_edge+5.0
+DIMX = 3.0*BOX
+DIMY = 2.0*BOX+args.height+3.0*args.thickness
PI3 = math.pi/3
HOLES = ''
@@ -289,15 +290,15 @@ def draw_case(x0, y0, h, slots):
HOLES += '\n' % (x, y, w, h)
print('')