diff --git a/sky130/Makefile.in b/sky130/Makefile.in
index 34354fa..2bded28 100644
--- a/sky130/Makefile.in
+++ b/sky130/Makefile.in
@@ -749,14 +749,21 @@
 		2>&1 | tee -a ${SKY130A}_make.log || true
 	# Custom:  Parse the (commented out) statistics blocks and generate
 	# ngspice-compatible monte carlo parameters for mismatch and process
-	# (currently under test)
-	# ./custom/scripts/mismatch_params.py \
-	#	2>&1 | tee -a ${SKY130A}_make.log || true
-	# ./custom/scripts/mismatch_params.py \
-	#	${STAGING_PATH}/${SKY130A}/libs.tech/ngspice \
-	#	2>&1 | tee -a ${SKY130A}_make.log || true
-	# ./custom/scripts/process_params.py \
-	#	2>&1 | tee -a ${SKY130A}_make.log || true
+	./custom/scripts/mismatch_params.py \
+		2>&1 | tee -a ${SKY130A}_make.log || true
+	./custom/scripts/mismatch_params.py \
+		${STAGING_PATH}/${SKY130A}/libs.tech/ngspice \
+		2>&1 | tee -a ${SKY130A}_make.log || true
+	./custom/scripts/process_params.py \
+		2>&1 | tee -a ${SKY130A}_make.log || true
+	# Custom:  Add "mc" section to sky130.lib.spice
+	head -n-1 ${STAGING_PATH}/${SKY130A}/libs.tech/ngspice/sky130.lib.spice \
+		| ${SED} -e '/^\.lib/a.param mc_pr_switch=0' \
+		> ${STAGING_PATH}/${SKY130A}/libs.tech/ngspice/sky130.lib.spice.head
+	cat ${STAGING_PATH}/${SKY130A}/libs.tech/ngspice/sky130.lib.spice.head \
+		custom/models/sky130.lib.spice.extra > \
+		${STAGING_PATH}/${SKY130A}/libs.tech/ngspice/sky130.lib.spice
+	rm ${STAGING_PATH}/${SKY130A}/libs.tech/ngspice/sky130.lib.spice.head
 
 	# Custom:  Add "spinit" file
 	cat ./custom/models/spinit >> \
diff --git a/sky130/custom/models/sky130.lib.spice.extra b/sky130/custom/models/sky130.lib.spice.extra
new file mode 100644
index 0000000..e97075f
--- /dev/null
+++ b/sky130/custom/models/sky130.lib.spice.extra
@@ -0,0 +1,12 @@
+
+* Monte Carlo process variation
+
+.lib mc
+
+.param mc_mm_switch=0
+.param mc_pr_switch=1
+
+.include "parameters/critical.spice"
+.include "parameters/montecarlo.spice"
+
+.endl
diff --git a/sky130/custom/scripts/mismatch_params.py b/sky130/custom/scripts/mismatch_params.py
index 1cb5ad8..eda8462 100755
--- a/sky130/custom/scripts/mismatch_params.py
+++ b/sky130/custom/scripts/mismatch_params.py
@@ -109,8 +109,10 @@
     infile.close()
     outfile.close()
     if replaced_something:
-        print("Something was replaced in '{}', backed up original file and replaced with processed one.".format(infile_name))
-        os.rename(infile_name, infile_name + '.orig')
+        # print("Something was replaced in '{}', backed up original file"
+        #	+ " and replaced with processed one.".format(infile_name))
+        print("Something was replaced in '{}'.".format(infile_name))
+        # os.rename(infile_name, infile_name + '.orig')
         os.rename(outfile_name, infile_name)
     else:
         print("Nothing was replaced in '{}'.".format(infile_name))
diff --git a/sky130/custom/scripts/process_params.py b/sky130/custom/scripts/process_params.py
index 1e59136..ca0f95a 100755
--- a/sky130/custom/scripts/process_params.py
+++ b/sky130/custom/scripts/process_params.py
@@ -116,8 +116,10 @@
     infile.close()
     outfile.close()
     if replaced_something:
-        print("Something was replaced in '{}', backed up original file and replaced with processed one.".format(infile_name))
-        os.rename(infile_name, infile_name + '.orig')
+        # print("Something was replaced in '{}', backed up original file"
+        #	+ " and replaced with processed one.".format(infile_name))
+        print("Something was replaced in '{}'".format(infile_name))
+        # os.rename(infile_name, infile_name + '.orig')
         os.rename(outfile_name, infile_name)
     else:
         print("Nothing was replaced in '{}'.".format(infile_name))
diff --git a/sky130/custom/scripts/rename_cells.py b/sky130/custom/scripts/rename_cells.py
index 8057ad3..5692c41 100755
--- a/sky130/custom/scripts/rename_cells.py
+++ b/sky130/custom/scripts/rename_cells.py
@@ -33,7 +33,7 @@
     for line in spilines:
 
         # These substitutions are for files originating from cells/*/*.spice
-        fixedline = re.sub('\.\./\.\./models/', '../../libs.tech/ngspice/', line)
+        fixedline = re.sub('\.\./\.\./models/', '../../../libs.tech/ngspice/', line)
         fixedline = re.sub('\.\./[^/\.]+/', '', fixedline)
 
         fixedlines.append(fixedline)
