diff --git a/vmmTblApp/src/vmm_config.cpp b/vmmTblApp/src/vmm_config.cpp
index 316de954463c96ac81c0a626c464c67b475d6816..3b1df25aa3d5a9f4b53bc4e8310c03bf600e373c 100644
--- a/vmmTblApp/src/vmm_config.cpp
+++ b/vmmTblApp/src/vmm_config.cpp
@@ -22,7 +22,11 @@ void FENConfigModule::sendAll(bool useConfigCheck) {
   configFEN();
   for(int hybrid = 0; hybrid <= HYBRIDS_PER_FEN; hybrid++) {
     if (isHybridEnabled(hybrid)) {
+      configHybrid(hybrid);
 
+      for(int vmm = 0; vmm < VMMS_PER_HYBRID; vmm++) {
+        configVMM(hybrid, vmm, useConfigCheck);
+      }
     }
   }
 }
@@ -142,8 +146,6 @@ bool FENConfigModule::configVMM(int hybrid_index, int vmm_index, bool enableConf
 
   unsigned int firstGlobalRegSPI_2 = 0;
   unsigned int lastGlobalRegSPI_2 = 2;
-  unsigned int firstChRegSPI = 3;
-  unsigned int lastChRegSPI = 66;
   unsigned int firstGlobalRegSPI_1 = 67;
   unsigned int lastGlobalRegSPI_1 = 69;
 
@@ -155,11 +157,12 @@ bool FENConfigModule::configVMM(int hybrid_index, int vmm_index, bool enableConf
   }
 
   //channel SPI
-  for(unsigned int i = firstChRegSPI; i <= lastChRegSPI; i++) {
-    std::string param = "vmm_ch" + std::to_string(i - firstChRegSPI);
-    param += sVmmIndex;
-    param += std::string(2 - std::to_string(i - firstChRegSPI).length(), '0'); // Right justify with '0'
-    uint32_t value = std::stoul(channelRegisters[i - firstChRegSPI], nullptr, 2);
+  for(unsigned int i = 0; i < CHANNELS_PER_VMM; i++) {
+    std::string position_str = std::to_string(i);
+    if (position_str.size() == 1) position_str = "0" + position_str;
+    std::string param = "vmm_ch" + position_str + sVmmIndex;
+    uint32_t value = std::stoul(channelRegisters[i], nullptr, 2);
+    std::cout << "param: " << param << std::endl;
     pFEN->user_reg_write(param, value);
   }