diff --git a/cells/mag/fixup.pl b/cells/mag/fixup.pl
index 503061a..07d573f 100755
--- a/cells/mag/fixup.pl
+++ b/cells/mag/fixup.pl
@@ -4,6 +4,8 @@
 foreach my $mag (<*.mag>)
 {
   my $name=$mag; $name=~s/\.mag$//;
+  next if($mag=~m/^sky130_/);
+  next if($mag=~m/^demo/);
   system "cp $mag $mag.beforemagic";
 
   my $width=150;
@@ -12,17 +14,40 @@
 
   open IN,"<$mag.beforemagic";
   open OUT,">$mag";
+  my $currentlayer="";
   while(<IN>)
   {
-    if(m/string FIXED_BBOX 0 0 (\d+) (\d+)/)
+    if(m/<< (\w+) >>/)
     {
-      $width=$1; $min=$1-31; $max=$min+31;
-      print "min: $min max: $max\nmagic $mag\nbox $min 17 $max 649\n";
+      $currentlayer=$1;	      
+    }
+    if(m/rect (-?\d+) (-?\d+) (-?\d+) (-?\d+)/ && $currentlayer eq "viali")
+    {
+      if($2<0 || $2>640)
+      {
+        print OUT "<< locali >>\n$_";
+        print OUT "<< metal1 >>\n$_";
+        print OUT "<< viali >>\n";
+	next;
+      }
     }
     s/\bVDD\b/VPWR/g;
     s/\bGND\b/VGND/g;
     print OUT $_;
+    if(m/string FIXED_BBOX 0 0 (\d+) (\d+)/)
+    {
+      $width=$1; $min=$1-31; $max=$min+31;
+      print "min: $min max: $max\nmagic $mag\nbox $min 17 $max 649\n";
+      print OUT "<< viali >>\n";
+      foreach(0 .. ($max /96)-3)
+      {
+        print OUT "rect ".(127+$_*96)." -17 ".(161+$_*96)." 17\n";
+        print OUT "rect ".(127+$_*96)." 649 ".(161+$_*96)." 683\n";
+      }
+    }
+
   }
+
   close IN;
   close OUT;
 
