diff --git a/scripts/configure b/scripts/configure
index 536a041..62b4a34 100755
--- a/scripts/configure
+++ b/scripts/configure
@@ -1721,11 +1721,11 @@
     # --with-pdk-source=PDK_SOURCE_PATH
 
 
-        SKY130_SOURCE_PATH=""
+        SKY130_SOURCE_PATH_=""
 
 # Check whether --with-sky130-source was given.
 if test "${with_sky130_source+set}" = set; then :
-  withval=$with_sky130_source; SKY130_SOURCE_PATH=$withval
+  withval=$with_sky130_source; SKY130_SOURCE_PATH_=$withval
 
 fi
 
@@ -1733,11 +1733,11 @@
 	# Require this argument
         { $as_echo "$as_me:${as_lineno-$LINENO}: Checking whether source path is specified for 'sky130'" >&5
 $as_echo "$as_me: Checking whether source path is specified for 'sky130'" >&6;}
-        if test "x$SKY130_SOURCE_PATH" == "x" ; then
+        if test "x$SKY130_SOURCE_PATH_" == "x" ; then
 	   as_fn_error $? "Option --with-sky130-source=<path> not specified!" "$LINENO" 5
 	fi
 
-	SKY130_SOURCE_PATH=$(readlink -f $SKY130_SOURCE_PATH)
+	SKY130_SOURCE_PATH=`readlink -f $SKY130_SOURCE_PATH_`
 
         # basic check that the PDK exists there (the path must exist in any case)
         { $as_echo "$as_me:${as_lineno-$LINENO}: Checking specified path for 'sky130' at $SKY130_SOURCE_PATH" >&5
diff --git a/scripts/configure.ac b/scripts/configure.ac
index 362d3d2..a596202 100755
--- a/scripts/configure.ac
+++ b/scripts/configure.ac
@@ -9,19 +9,19 @@
     # --with-pdk-source=PDK_SOURCE_PATH
     m4_foreach_w(pdk, $1, [
 	m4_define([pdkvar], [m4_normalize(m4_esyscmd(echo pdk | tr "a-z" "A-Z"))])
-        pdkvar[]_SOURCE_PATH=""
+        pdkvar[]_SOURCE_PATH_=""
         AC_ARG_WITH(pdk-source,
               [AS_HELP_STRING([--with-pdk-source=/path/to/pdk/source], "location of the source files for pdk")],
-              [pdkvar[]_SOURCE_PATH=$withval]
+              [pdkvar[]_SOURCE_PATH_=$withval]
         )
 
 	# Require this argument
         AC_MSG_NOTICE([Checking whether source path is specified for 'pdk'])
-        if test "x$[]pdkvar[]_SOURCE_PATH" == "x" ; then
+        if test "x$[]pdkvar[]_SOURCE_PATH_" == "x" ; then
 	   AC_MSG_ERROR([Option --with-pdk-source=<path> not specified!])
 	fi
 
-	pdkvar[]_SOURCE_PATH=$(readlink -f $[]pdkvar[]_SOURCE_PATH)
+	pdkvar[]_SOURCE_PATH=`readlink -f $[]pdkvar[]_SOURCE_PATH_`
 
         # basic check that the PDK exists there (the path must exist in any case)
         AC_MSG_NOTICE([Checking specified path for 'pdk' at $[]pdkvar[]_SOURCE_PATH])
diff --git a/sky130/netgen/sky130_setup.tcl b/sky130/netgen/sky130_setup.tcl
index 7669f39..debf009 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 par1 pm
+	# property "-circuit2 $dev" delete
     }
     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 par1 pm
+	# property "-circuit2 $dev" delete
     }
 }
 
@@ -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 par1 pm
+	# property "-circuit2 $dev" delete
     }
     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 par1 pm
+	# property "-circuit2 $dev" delete
     }
 }
 
@@ -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 par1 NRD NRS
+	property "-circuit2 $dev" delete as ad ps pd
     }
     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 par1 NRD NRS
+	property "-circuit2 $dev" delete as ad ps pd
     }
 }
 
@@ -138,7 +138,7 @@
 	property "-circuit1 $dev" parallel {value add}
 	property "-circuit1 $dev" tolerance {area 0.02}
 	# Ignore these properties
-	property "-circuit2 $dev" delete par1 peri
+	property "-circuit2 $dev" delete 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 par1 peri
+	property "-circuit2 $dev" delete 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 par1 pm
+	# property "-circuit2 $dev" delete 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 par1 pm
+	# property "-circuit2 $dev" delete perim
     }
 }
 
@@ -211,12 +211,12 @@
     if {[lsearch $cells1 $dev] >= 0} {
 	property "-circuit1 $dev" parallel enable
 	# Ignore these properties
-	property "-circuit2 $dev" delete par1
+	# property "-circuit2 $dev" delete
     }
     if {[lsearch $cells2 $dev] >= 0} {
 	property "-circuit2 $dev" parallel enable
 	# Ignore these properties
-	property "-circuit2 $dev" delete par1
+	# property "-circuit2 $dev" delete
     }
 }
 
