diff --git a/VERSION b/VERSION
index ef6675f..8e9bc51 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.305
+1.0.306
diff --git a/sky130/custom/scripts/mismatch_params.py b/sky130/custom/scripts/mismatch_params.py
index 91e35fa..47cb853 100755
--- a/sky130/custom/scripts/mismatch_params.py
+++ b/sky130/custom/scripts/mismatch_params.py
@@ -69,10 +69,13 @@
                     if ematch:
                         state = 'after_mismatch'
                     else:
-                        tokens = line.split()
+                        # Make sure all "A = B" syntax closes up around the equal sign.
+                        newline = re.sub('[ \t]*=[ \t]*', '=', line)
+                        tokens = newline.split()
                         if 'vary' in tokens:
                             if ('dist=gauss' in tokens) or ('gauss' in tokens):
                                 gtype = 'A'
+                                std_dev = 1
                                 mismatch_param = tokens[2]
                                 for token in tokens[3:]:
                                     gparam = token.split('=')
@@ -90,6 +93,7 @@
                                 mismatch_params.append((mismatch_param, replacement))
                             elif ('dist=lnorm' in tokens) or ('lnorm' in tokens):
                                 mismatch_param = tokens[2]
+                                std_dev = 1
                                 for token in tokens[3:]:
                                     gparam = token.split('=')
                                     if len(gparam) == 2:
diff --git a/sky130/custom/scripts/process_params.py b/sky130/custom/scripts/process_params.py
index b90b23b..c822b7e 100755
--- a/sky130/custom/scripts/process_params.py
+++ b/sky130/custom/scripts/process_params.py
@@ -76,7 +76,9 @@
                     if ematch:
                         state = 'after_process'
                     else:
-                        tokens = line.split()
+                        # Make sure all "A = B" syntax closes up around the equal sign.
+                        newline = re.sub('[ \t]*=[ \t]*', '=', line)
+                        tokens = newline.split()
                         if 'vary' in tokens:
                             if ('dist=gauss' in tokens) or ('gauss' in tokens):
                                 gtype = 'A'
