diff --git a/src/epics/util/feCodeGen.pl b/src/epics/util/feCodeGen.pl
index 5f0fe678ae6554bcca98f255b9fb6608d6d9e2ee..67b2f352701bc290d544412ebf73d7653bf07949 100755
--- a/src/epics/util/feCodeGen.pl
+++ b/src/epics/util/feCodeGen.pl
@@ -1289,6 +1289,12 @@ for($ii=0;$ii<$dacCnt;$ii++)
 	print EPICS "OUTVARIABLE FEC\_$dcuId\_DAC_STAT_$ii epicsOutput.statDac\[$ii\] int ao 0\n";
 }
 
+print OUTH "\tint buffDac[$dacCnt];\n";
+for($ii=0;$ii<$dacCnt;$ii++)
+{
+	print EPICS "OUTVARIABLE FEC\_$dcuId\_DAC_BUFF_$ii epicsOutput.buffDac\[$ii\] int ao 0\n";
+}
+
 print OUTH "\tint overflowDac[$dacCnt][16];\n";
 for($ii=0;$ii<$dacCnt;$ii++)
 {
diff --git a/src/epics/util/lib/Dac18.pm b/src/epics/util/lib/Dac18.pm
index 90a08692a42b2ce47364f4a5d0cfc073eec12be9..3ba482978b114e8b01f645563f6163d4b906fa85 100644
--- a/src/epics/util/lib/Dac18.pm
+++ b/src/epics/util/lib/Dac18.pm
@@ -276,15 +276,6 @@ sub createDac18Medm
         # Add FIFO Status Monitor
         $xpos = 26; $ypos = 112; $width = 12; $height = 12;
         $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","3","3",$ecolors{green},$ecolors{red});
-        # Add FIFO EMPTY Monitor
-        $xpos = 58; $ypos = 132; $width = 12; $height = 12;
-        $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","5","5",$ecolors{red},$ecolors{green});
-        # Add FIFO HI QTR Monitor
-        $xpos = 58; $ypos = 147; $width = 12; $height = 12;
-        $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","6","6",$ecolors{red},$ecolors{green});
-        # Add FIFO FULL Monitor
-        $xpos = 58; $ypos = 162; $width = 12; $height = 12;
-        $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","7","7",$ecolors{red},$ecolors{green});
 	# Add ON LINE Label
         $xpos = 51; $ypos = 52; $width = 100; $height = 15;
         $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"ON LINE",$ecolors{black});
@@ -302,15 +293,6 @@ sub createDac18Medm
 	# Add FIFO STATUS Label
         $xpos = 51; $ypos = 112; $width = 100; $height = 15;
         $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"FIFO STATUS",$ecolors{black});
-	# Add FIFO EMPTY Label
-        $xpos = 81; $ypos = 132; $width = 100; $height = 15;
-        $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"EMPTY",$ecolors{black});
-	# Add FIFO HI QTR Label
-        $xpos = 81; $ypos = 147; $width = 100; $height = 15;
-        $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"HIGH QUARTER",$ecolors{black});
-	# Add FIFO FULL Label
-        $xpos = 81; $ypos = 162; $width = 100; $height = 15;
-        $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"FULL",$ecolors{black});
 	}
 
 print OUTMEDM "$medmdata \n";
diff --git a/src/epics/util/lib/Dac20.pm b/src/epics/util/lib/Dac20.pm
index 788cc792f8548bbddba92afd481976e872c1c1f3..6f13b629281ed2298bd1ff7c972ff67e69bb79e0 100644
--- a/src/epics/util/lib/Dac20.pm
+++ b/src/epics/util/lib/Dac20.pm
@@ -278,15 +278,6 @@ sub createDac20Medm
         # Add FIFO Status Monitor
         $xpos = 26; $ypos = 112; $width = 12; $height = 12;
         $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","3","3",$ecolors{green},$ecolors{red});
-        # Add FIFO EMPTY Monitor
-        $xpos = 58; $ypos = 132; $width = 12; $height = 12;
-        $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","5","5",$ecolors{red},$ecolors{green});
-        # Add FIFO HI QTR Monitor
-        $xpos = 58; $ypos = 147; $width = 12; $height = 12;
-        $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","6","6",$ecolors{red},$ecolors{green});
-        # Add FIFO FULL Monitor
-        $xpos = 58; $ypos = 162; $width = 12; $height = 12;
-        $medmdata .= ("CDS::medmGen::medmGenByte") -> ($xpos,$ypos,$width,$height,"$site\:FEC-$dcuid\_DAC_STAT_$dacNum","7","7",$ecolors{red},$ecolors{green});
 	# Add ON LINE Label
         $xpos = 51; $ypos = 52; $width = 100; $height = 15;
         $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"ON LINE",$ecolors{black});
@@ -304,15 +295,6 @@ sub createDac20Medm
 	# Add FIFO STATUS Label
         $xpos = 51; $ypos = 112; $width = 100; $height = 15;
         $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"FIFO STATUS",$ecolors{black});
-	# Add FIFO EMPTY Label
-        $xpos = 81; $ypos = 132; $width = 100; $height = 15;
-        $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"EMPTY",$ecolors{black});
-	# Add FIFO HI QTR Label
-        $xpos = 81; $ypos = 147; $width = 100; $height = 15;
-        $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"HIGH QUARTER",$ecolors{black});
-	# Add FIFO FULL Label
-        $xpos = 81; $ypos = 162; $width = 100; $height = 15;
-        $medmdata .= ("CDS::medmGen::medmGenTextLeft") -> ($xpos,$ypos,$width,$height,"FULL",$ecolors{black});
 	}
 
 print OUTMEDM "$medmdata \n";
diff --git a/src/epics/util/lib/medmGenGdsTp.pm b/src/epics/util/lib/medmGenGdsTp.pm
index ee5f678307970a197bdcb8e6719f01ef5145c9cd..aa4d8bf5776086642347cf0e83af81208877700f 100644
--- a/src/epics/util/lib/medmGenGdsTp.pm
+++ b/src/epics/util/lib/medmGenGdsTp.pm
@@ -427,7 +427,7 @@ sub createGdsMedm
 			$medmdata .= ("CDS::medmGen::medmGenRelDisp") -> ($xpos,$ypos,$width,$height,$relDisp,$ecolors{black},$ecolors{ltblue},"D$::dacCardNum[$ii]");
 			if($adcMaster == 1)
 			{
-				$medmdata .= ("CDS::medmGen::medmGenByte") -> ($bxpos,$bypos,$bwidth,$bheight,"$site\:FEC-$dcuid\_DAC_STAT_$ii","0","3",$ecolors{green},$ecolors{red});
+				$medmdata .= ("CDS::medmGen::medmGenByte") -> ($bxpos,$bypos,$bwidth,$bheight,"$site\:FEC-$dcuid\_DAC_STAT_$ii","0","4",$ecolors{green},$ecolors{red});
 			} else {
 				$medmdata .= ("CDS::medmGen::medmGenByte") -> ($bxpos,$bypos,$b1width,$bheight,"$site\:FEC-$dcuid\_DAC_STAT_$ii","1","2",$ecolors{green},$ecolors{red});
 			}
diff --git a/src/fe/controllerIop.c b/src/fe/controllerIop.c
index f084b215b9638f53f1ccd6fa9539dea1fe23a314..defb2d2503632b2a8c905566eec05004fcfb9468 100644
--- a/src/fe/controllerIop.c
+++ b/src/fe/controllerIop.c
@@ -412,6 +412,7 @@ adcInfo_t *padcinfo = (adcInfo_t *)&adcinfo;
       gsc16ai64Enable(cdsPciModules.adcCount);
       /// - ----  Arm DAC outputs
       gsc18ao8Enable(&cdsPciModules);
+      gsc20ao8Enable(&cdsPciModules);
       gsc16ao16Enable(&cdsPciModules);
       // Set synched flag so later code will not check for 1PPS
       sync21pps = 1;
diff --git a/src/include/drv/iop_dac_functions.c b/src/include/drv/iop_dac_functions.c
index 2d035848e9e2d1e0de7963b230d430a21fc0f5cc..93ef385e4be4042cd0ab275abf5543932ecd105c 100644
--- a/src/include/drv/iop_dac_functions.c
+++ b/src/include/drv/iop_dac_functions.c
@@ -229,6 +229,7 @@ inline int check_dac_buffers (int cycleNum)
 			dac18bitPtr = (volatile GSA_18BIT_DAC_REG *)(dacPtr[jj]);
 			out_buf_size = dac18bitPtr->OUT_BUF_SIZE;
 			dacOutBufSize[jj] = out_buf_size;
+			pLocalEpics->epicsOutput.buffDac[jj] = out_buf_size;
 			if(!dacTimingError) {
 				if((out_buf_size < 8) || (out_buf_size > 24))
 				{
@@ -257,6 +258,8 @@ inline int check_dac_buffers (int cycleNum)
             dac20bitPtr = (volatile GSA_20BIT_DAC_REG *)(dacPtr[jj]);
             out_buf_size = dac20bitPtr->OUT_BUF_SIZE;
             dacOutBufSize[jj] = out_buf_size;
+	    pLocalEpics->epicsOutput.buffDac[jj] = out_buf_size;
+			pLocalEpics->epicsOutput.buffDac[jj] = out_buf_size;
             if((out_buf_size > 24))
             {
                 pLocalEpics->epicsOutput.statDac[jj] &= ~(DAC_FIFO_BIT);