diff --git a/vmmTblApp/Db/channels.template b/vmmTblApp/Db/channels.template
index 4df77f9a83617aeea840ce65fde3a0d702a2383a..2afd1b5513bd542a894f113ceca0fa6b72908d4c 100644
--- a/vmmTblApp/Db/channels.template
+++ b/vmmTblApp/Db/channels.template
@@ -11,6 +11,8 @@ record(aao, "$(P)$(R)$(HYB)$(VMM)$(C)$(CH)-S") {
     field(FTVL, "CHAR")
     field(FLNK, "$(P)$(R)$(HYB)$(VMM)$(C)$(CH)-R")
     field(OUT,  "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_$(VMM)_$(CH)")
+
+    info(asyn:READBACK, "1")
 }
 
 record(aai, "$(P)$(R)$(HYB)$(VMM)$(C)$(CH)-R") {
diff --git a/vmmTblApp/Db/vmm.template b/vmmTblApp/Db/vmm.template
index ac6e954866dd2c536b06b374a88f737627c3643c..6cc81b7c1278371958d56b16e58f050f8f9ef933 100644
--- a/vmmTblApp/Db/vmm.template
+++ b/vmmTblApp/Db/vmm.template
@@ -7,6 +7,8 @@ record(aao, "$(P)$(R)$(HYB)$(VMM)$(C)$(CH)-S") {
     field(FTVL, "CHAR")
     field(FLNK, "$(P)$(R)$(HYB)$(VMM)$(C)$(CH)-R")
     field(OUT,  "@asyn($(PORT),$(ADDR),$(TIMEOUT))HYB_$(HYB)_$(VMM)_$(CH)")
+
+    info(asyn:READBACK, "1")
 }
 
 record(aai, "$(P)$(R)$(HYB)$(VMM)$(C)$(CH)-R") {
@@ -29,6 +31,7 @@ record(ao, "$(P)$(R)$(HYB)$(VMM)$(C)All$(CH)-S") {
 record(acalcout, "$(P)$(R)$(HYB)$(VMM)$(C)#All$(CH)-S") {
     field(NELM, "64")
     field(OOPT, "On Change")
+    field(CALC, "A")
     field(INPA, "$(P)$(R)$(HYB)$(VMM)$(C)All$(CH)-S CPP")
     field(INAA, "$(P)$(R)$(HYB)$(VMM)$(C)$(CH)-S")
     field(OUT,  "$(P)$(R)$(HYB)$(VMM)$(C)$(CH)-S PP")
diff --git a/vmmTblApp/src/vmm_tbl.cpp b/vmmTblApp/src/vmm_tbl.cpp
index d5d159f9b4092263f525869e77b15504222c0a85..99c3ba33d725508ade647058f56fdd5ce9a324f6 100644
--- a/vmmTblApp/src/vmm_tbl.cpp
+++ b/vmmTblApp/src/vmm_tbl.cpp
@@ -600,6 +600,7 @@ endOfReadInt8Array:
  }
 
   *nIn = nElements;
+  status |= (int)doCallbacksInt8Array(value, nElements, function, 0); 
 
   if (status) {
     asynPrint(pasynUserSelf, ASYN_TRACE_ERROR, "%s:%s: Failed to get paramter %s, index %d.\n", driverName,