diff --git a/VERSION b/VERSION
index 481e49e..35734c0 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.407
+1.0.408
diff --git a/sky130/magic/sky130.tcl b/sky130/magic/sky130.tcl
index 03c9d34..57ee4ee 100644
--- a/sky130/magic/sky130.tcl
+++ b/sky130/magic/sky130.tcl
@@ -5083,7 +5083,7 @@
 		compatible {sky130_fd_pr__cap_var_lvt \
 		sky130_fd_pr__cap_var_hvt sky130_fd_pr__cap_var} \
 		full_metal 1 viasrc 100 viadrn 100 viagate 100 \
-		viagb 0 viagr 0 viagl 0 viagt 0}
+		viagb 0 viagr 0 viagl 0 viagt 0 gshield 1}
 }
 
 proc sky130::sky130_fd_pr__cap_var_hvt_defaults {} {
@@ -5093,7 +5093,7 @@
 		compatible {sky130_fd_pr__cap_var_lvt \
 		sky130_fd_pr__cap_var_hvt sky130_fd_pr__cap_var} \
 		full_metal 1 viasrc 100 viadrn 100 viagate 100 \
-		viagb 0 viagr 0 viagl 0 viagt 0}
+		viagb 0 viagr 0 viagl 0 viagt 0 gshield 1}
 }
 
 proc sky130::sky130_fd_pr__cap_var_defaults {} {
@@ -5103,7 +5103,7 @@
 		compatible {sky130_fd_pr__cap_var_lvt \
 		sky130_fd_pr__cap_var_hvt sky130_fd_pr__cap_var} \
 		full_metal 1 viasrc 100 viadrn 100 viagate 100 \
-		viagb 0 viagr 0 viagl 0 viagt 0}
+		viagb 0 viagr 0 viagl 0 viagt 0 gshield 1}
 }
 
 #----------------------------------------------------------------
@@ -5221,6 +5221,9 @@
        magic::add_selectlist gencell "Device type" $sellist $parameters $device
     }
 
+    # Default-empty message area, used by the varactor dialog.
+    magic::add_message minfo "" $parameters brown
+
     magic::add_entry diffcov "Diffusion contact coverage (%)" $parameters
     magic::add_entry polycov "Poly contact coverage (%)" $parameters
     magic::add_entry rlcov "Guard ring contact coverage (%)" $parameters
@@ -5244,6 +5247,10 @@
 	magic::add_checkbox gtc "Add top guard ring contact" $parameters
     }
 
+    if {[string first "cap_var" $device] != -1} {
+	magic::add_checkbox gshield "Metal shield over gate" $parameters
+    }
+
     magic::add_entry viasrc "Source via coverage \[+/-\](%)" $parameters
     magic::add_entry viadrn "Drain via coverage \[+/-\](%)" $parameters
     magic::add_entry viagate "Gate via coverage \[+/-\](%)" $parameters
@@ -5731,6 +5738,7 @@
     set dev_sub_dist 0	;# device substrate distance (if nondefault dev_sub_type)
     set min_effl 0	;# gate length below which finger pitch must be stretched
     set diff_overlap_cont 0	;# extra overlap of end contact by diffusion
+    set gshield 0	;# no metal shield over gate (used for varactors)
 
     # Set a local variable for each parameter (e.g., $l, $w, etc.)
     foreach key [dict keys $parameters] {
@@ -5918,6 +5926,27 @@
 		${diff_type} ${diff_contact_type} li vert]]
     set diffarea $cext
     popbox
+    # Gate shield (only on varactors)
+    if {$gshield == 1} {
+ 	pushbox
+	box move w ${he}um
+	box move w ${gate_to_diffcont}um
+	box width [* 2 [+ ${he} ${gate_to_diffcont}]]um
+	box grow n [/ $cdwfull 2]um
+	box grow s [/ $cdwfull 2]um
+	paint m1
+	# Enforce slotting of large metal
+	set gsh [magic::i2u [box height]]
+	if {$gsh > 25} {
+	   box move n [/ $gsh 2]um
+	   box move s 1.15um
+	   box height 2.3um	;# Minimum m1 slot width
+	   box grow w -${via_size}um
+	   box grow e -${via_size}um
+	   erase m1
+	}
+	popbox
+    }
     # Top poly contact
     if {$topc} {
        pushbox
@@ -6675,6 +6704,15 @@
        dict set parameters nf $nf
     }
 
+    # Used by varactor only
+    if {$device == "sky130_fd_pr__cap_var"} {
+	# NOTE: Removed until update behavior is fixed.
+        # set magic::minfo_val "Warning:  No model exists for this device!"
+        set magic::minfo_val ""
+    } else {
+        set magic::minfo_val ""
+    }
+
     return $parameters
 }
 
