diff --git a/VERSION b/VERSION
index 154b9fc..79728fe 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.23
+1.0.24
diff --git a/sky130/magic/sky130.tcl b/sky130/magic/sky130.tcl
index 684aee5..bf66b4f 100644
--- a/sky130/magic/sky130.tcl
+++ b/sky130/magic/sky130.tcl
@@ -3564,17 +3564,28 @@
 		dict set pdkparams [string tolower $key] $value
 	    }
 	    m {
-		# M value in an expression like '1*1' convert to
-		# M and NF
-		if {[regexp {\'([0-9]+)\*([0-9]+)\'} $value valid m nf]} {
-		    dict set pdkparams [string tolower $key] $m
-		    dict set pdkparams nf $nf
-		} else {
-		    dict set pdkparams [string tolower $key] $value
-		}
+		dict set pdkparams [string tolower $key] $value
+	    }
+	    nf {
+		# Adjustment ot W will be handled below
+		dict set pdkparams [string tolower $key] $value
 	    }
 	}
     }
+
+    # Magic does not understand "nf" as a parameter, but expands to
+    # "nf" number of devices connected horizontally.  The "w" value
+    # must be divided down accordingly, as the "nf" parameter implies
+    # that the total width "w" is divided into "nf" fingers.
+
+    catch {
+	set w [dict get $pdkparams w]
+	set nf [dict get $pdkparams nf]
+	if {$nf > 1} {
+	    dict set pdkparams w [expr $w / $nf]
+	}
+    }
+
     return $pdkparams
 }
 
diff --git a/sky130/netgen/sky130_setup.tcl b/sky130/netgen/sky130_setup.tcl
index debf009..66d40ee 100644
--- a/sky130/netgen/sky130_setup.tcl
+++ b/sky130/netgen/sky130_setup.tcl
@@ -40,7 +40,7 @@
 	property "-circuit1 $dev" parallel {value par}
 	property "-circuit1 $dev" tolerance {l 0.01} {w 0.01}
 	# Ignore these properties
-	# property "-circuit2 $dev" delete
+	property "-circuit2 $dev" delete mult
     }
     if {[lsearch $cells2 $dev] >= 0} {
 	permute "-circuit2 $dev" 1 2
@@ -53,7 +53,7 @@
 	property "-circuit1 $dev" parallel {value par}
 	property "-circuit1 $dev" tolerance {l 0.01} {w 0.01}
 	# Ignore these properties
-	# property "-circuit2 $dev" delete
+	property "-circuit2 $dev" delete mult
     }
 }
 
@@ -78,7 +78,7 @@
 	property "-circuit1 $dev" parallel {value par}
 	property "-circuit1 $dev" tolerance {l 0.01} {w 0.01}
 	# Ignore these properties
-	# property "-circuit2 $dev" delete
+	property "-circuit2 $dev" delete mult
     }
     if {[lsearch $cells2 $dev] >= 0} {
 	permute "-circuit2 $dev" 1 2
@@ -91,7 +91,7 @@
 	property "-circuit1 $dev" parallel {value par}
 	property "-circuit1 $dev" tolerance {l 0.01} {w 0.01}
 	# Ignore these properties
-	# property "-circuit2 $dev" delete
+	property "-circuit2 $dev" delete mult
     }
 }
 
@@ -111,7 +111,7 @@
 	property "-circuit1 $dev" parallel {w add}
 	property "-circuit1 $dev" tolerance {w 0.01} {l 0.01}
 	# Ignore these properties
-	property "-circuit2 $dev" delete as ad ps pd
+	property "-circuit2 $dev" delete as ad ps pd mult sa sb sd
     }
     if {[lsearch $cells2 $dev] >= 0} {
 	permute "-circuit2 $dev" 1 3
@@ -120,7 +120,7 @@
 	property "-circuit1 $dev" parallel {w add}
 	property "-circuit2 $dev" tolerance {w 0.01} {l 0.01}
 	# Ignore these properties
-	property "-circuit2 $dev" delete as ad ps pd
+	property "-circuit2 $dev" delete as ad ps pd mult sa sb sd
     }
 }
 
@@ -138,7 +138,7 @@
 	property "-circuit1 $dev" parallel {value add}
 	property "-circuit1 $dev" tolerance {area 0.02}
 	# Ignore these properties
-	property "-circuit2 $dev" delete perim
+	property "-circuit2 $dev" delete mult perim
     }
     if {[lsearch $cells2 $dev] >= 0} {
 	property "-circuit2 $dev" parallel enable
@@ -146,7 +146,7 @@
 	property "-circuit1 $dev" parallel {value add}
 	property "-circuit2 $dev" tolerance {area 0.02}
 	# Ignore these properties
-	property "-circuit2 $dev" delete perim
+	property "-circuit2 $dev" delete mult perim
     }
 }
 
@@ -164,7 +164,7 @@
 	property "-circuit1 $dev" parallel {value add}
 	property "-circuit1 $dev" tolerance {l 0.01} {w 0.01}
 	# Ignore these properties
-	# property "-circuit2 $dev" delete perim
+	property "-circuit2 $dev" delete mult perim
     }
     if {[lsearch $cells2 $dev] >= 0} {
 	property "-circuit1 $dev" parallel enable
@@ -172,7 +172,7 @@
 	property "-circuit1 $dev" parallel {value add}
 	property "-circuit1 $dev" tolerance {l 0.01} {w 0.01}
 	# Ignore these properties
-	# property "-circuit2 $dev" delete perim
+	property "-circuit2 $dev" delete mult perim
     }
 }
 
@@ -211,12 +211,12 @@
     if {[lsearch $cells1 $dev] >= 0} {
 	property "-circuit1 $dev" parallel enable
 	# Ignore these properties
-	# property "-circuit2 $dev" delete
+	property "-circuit2 $dev" delete mult
     }
     if {[lsearch $cells2 $dev] >= 0} {
 	property "-circuit2 $dev" parallel enable
 	# Ignore these properties
-	# property "-circuit2 $dev" delete
+	property "-circuit2 $dev" delete mult
     }
 }
 
