Corrected the PNP model patch (again, differently, and moved it back
to its original location).  Added a few lines that remove the
extraneous statistics block from the 3.4x3.4 PNP model file, so that
the mismatch parameter handling script won't fail on it.
diff --git a/sky130/Makefile.in b/sky130/Makefile.in
index 2072b50..1c92512 100644
--- a/sky130/Makefile.in
+++ b/sky130/Makefile.in
@@ -738,10 +738,19 @@
 	patch -p1 -f -d ${STAGING_PATH}/${SKY130A} \
 		< custom/patches/sky130_fd_pr_2.patch \
 		2>&1 | tee -a ${SKY130A}_make.log || true
+	# Custom:  Patch the models to remove the substrate pin from the PNP
+	# device, which has no independent substrate pin (collector=substrate)
+	patch -p4 -f -d ${STAGING_PATH}/${SKY130A}/libs.ref/${PR_SPICE} \
+		< custom/patches/sky130_fd_pr_3.patch \
+		2>&1 | tee -a ${SKY130A}_make.log || true
 	# Custom:  Patch the ngspice models to add the HV diffusion resistor subcircuits
 	patch -p2 -f -d ${STAGING_PATH}/${SKY130A}/libs.tech/ngspice \
 		< custom/patches/sky130_fd_pr_5.patch \
 		2>&1 | tee -a ${SKY130A}_make.log || true
+	# Fix up the PNP model file before running the next modification
+	head -15 ${STAGING_PATH}/${SKY130A}/libs.ref/${PR_SPICE}/sky130_fd_pr__pnp_05v5_W3p40L3p40.model.spice > ${STAGING_PATH}/${SKY130A}/libs.ref/${PR_SPICE}/temp
+	tail -39 ${STAGING_PATH}/${SKY130A}/libs.ref/${PR_SPICE}/sky130_fd_pr__pnp_05v5_W3p40L3p40.model.spice >> ${STAGING_PATH}/${SKY130A}/libs.ref/${PR_SPICE}/temp
+	mv ${STAGING_PATH}/${SKY130A}/libs.ref/${PR_SPICE}/temp  ${STAGING_PATH}/${SKY130A}/libs.ref/${PR_SPICE}/sky130_fd_pr__pnp_05v5_W3p40L3p40.model.spice
 	# Custom:  Parse the (commented out) statistics blocks and generate
 	# ngspice-compatible monte carlo parameters for mismatch and process
 	./custom/scripts/mismatch_params.py \
@@ -751,11 +760,6 @@
 		2>&1 | tee -a ${SKY130A}_make.log || true
 	./custom/scripts/process_params.py \
 		2>&1 | tee -a ${SKY130A}_make.log || true
-	# Custom:  Patch the models to remove the substrate pin from the PNP
-	# device, which has no independent substrate pin (collector=substrate)
-	patch -p4 -f -d ${STAGING_PATH}/${SKY130A}/libs.ref/${PR_SPICE} \
-		< custom/patches/sky130_fd_pr_3.patch \
-		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' \
diff --git a/sky130/custom/patches/sky130_fd_pr_3.patch b/sky130/custom/patches/sky130_fd_pr_3.patch
index ec6a262..8b11dab 100644
--- a/sky130/custom/patches/sky130_fd_pr_3.patch
+++ b/sky130/custom/patches/sky130_fd_pr_3.patch
@@ -9,8 +9,8 @@
 +.subckt  sky130_fd_pr__pnp_05v5_W0p68L0p68 c b e
  + 
  .param  mult = 1.0
- + sky130_fd_pr__pnp_05v5_W0p68L0p68__bf_mm = {(19.35*dkbfpp*MC_MM_SWITCH*AGAUSS(0,0.05537,1)/sqrt(mult))}
- + sky130_fd_pr__pnp_05v5_W0p68L0p68__is_mm = {(1.5075e-018*dkispp*MC_MM_SWITCH*AGAUSS(0,0.01662,1)/sqrt(mult))}
+ + sky130_fd_pr__pnp_05v5_W0p68L0p68__bf_mm = {(19.35*dkbfpp*sky130_fd_pr__pnp_05v5_W0p68L0p68__bf_slope/sqrt(mult))}
+ + sky130_fd_pr__pnp_05v5_W0p68L0p68__is_mm = {(1.5075e-018*dkispp*sky130_fd_pr__pnp_05v5_W0p68L0p68__is_slope/sqrt(mult))}
 -qsky130_fd_pr__pnp_05v5_W0p68L0p68 c b e s sky130_fd_pr__pnp_05v5_W0p68L0p68__model
 +qsky130_fd_pr__pnp_05v5_W0p68L0p68 c b e c sky130_fd_pr__pnp_05v5_W0p68L0p68__model
  .model sky130_fd_pr__pnp_05v5_W0p68L0p68__model pnp level = 1.0