diff --git a/core/detectors/tof/CbmMcbm2018TofPar.cxx b/core/detectors/tof/CbmMcbm2018TofPar.cxx
index 1a1b46ef7ca9347d75231e423971e497e4993ef4..3f5e9e51739b75ae4121fa96fec0ead94e9dafba 100644
--- a/core/detectors/tof/CbmMcbm2018TofPar.cxx
+++ b/core/detectors/tof/CbmMcbm2018TofPar.cxx
@@ -265,6 +265,7 @@ void CbmMcbm2018TofPar::BuildChannelsUidMap()
   for (UInt_t uGbtx = 0; uGbtx < uNrOfGbtx; ++uGbtx) {
     uint32_t uCh0  = uCh;
     uint32_t uGdpb = uCh0 / (fiNrOfFeesPerGdpb * fiNrOfGet4PerFee * fiNrOfChannelsPerGet4);
+    LOG(info) << "Map at ch " << uCh << ", Gdpb " << uGdpb << ", Id " << std::hex << fiGdpbIdArray[uGdpb] << std::dec;
     switch (fiRpcType[uGbtx]) {
       case 2:  // intended fall-through
       case 0: {
@@ -320,6 +321,11 @@ void CbmMcbm2018TofPar::BuildChannelsUidMap()
         }
         break;
       }
+      case 66:  // Buc box
+      {
+        BuildChannelsUidMapBuc(uCh, uGbtx);
+        break;
+      }
       case 69: {
         /// 2022 case: 69 is followed by 4 and 9
         BuildChannelsUidMapBuc(uCh, uGbtx);
@@ -338,7 +344,7 @@ void CbmMcbm2018TofPar::BuildChannelsUidMap()
         LOG(error) << "Invalid Tof Type specifier for GBTx " << std::setw(2) << uGbtx << ": " << fiRpcType[uGbtx];
       }
     }  // switch (fiRpcType[uGbtx])
-    if ((int32_t)(uCh - uCh0) != fiNrOfFeesPerGdpb * fiNrOfGet4PerFee * fiNrOfChannelsPerGet4 / nbRobPerComp) {
+    if ((uCh - uCh0) != fiNrOfFeesPerGdpb * fiNrOfGet4PerFee * fiNrOfChannelsPerGet4 / nbRobPerComp) {
       LOG(fatal) << "Tof mapping error for Gbtx " << uGbtx << ",  diff = " << uCh - uCh0 << ", expected "
                  << fiNrOfFeesPerGdpb * fiNrOfGet4PerFee * fiNrOfChannelsPerGet4 / nbRobPerComp
                  << " with nbRobPerFlim = " << nbRobPerComp;
@@ -554,7 +560,7 @@ void CbmMcbm2018TofPar::BuildChannelsUidMapStar2(UInt_t& uCh, UInt_t uGbtx)
 void CbmMcbm2018TofPar::BuildChannelsUidMapStar2A(UInt_t& uCh, UInt_t uGbtx)
 {
   LOG(info) << " Map Star2A box " << fiModuleId[uGbtx] << " at GBTX " << uGbtx << " -  uCh = " << uCh << " for type "
-            << fiRpcType[uGbtx];
+            << fiRpcType[uGbtx] << ", side " << fiRpcSide[uGbtx];
   if (fiRpcSide[uGbtx] < 3) {
     Int_t NrFeet = 2;
     if (fiRpcSide[uGbtx] < 2) NrFeet = 1;
@@ -570,14 +576,7 @@ void CbmMcbm2018TofPar::BuildChannelsUidMapStar2A(UInt_t& uCh, UInt_t uGbtx)
           else
             iSideMap = 1;
         }
-        else {
-          if (fiRpcSide[uGbtx] == 3) {
-            if (iFeet == 0)
-              iSideMap = 1;
-            else
-              iSideMap = 0;
-          }
-        }
+
         if (fiRpcType[uGbtx] != 6)
           if (iSideMap == 0) iStrMap = 31 - iStr;
 
@@ -637,8 +636,48 @@ void CbmMcbm2018TofPar::BuildChannelsUidMapStar2A(UInt_t& uCh, UInt_t uGbtx)
         }
       }
     }
+    else if (fiRpcSide[uGbtx] == 4) {
+      int iSideMap        = -1;
+      int iStrMap         = -1;
+      int iRpcMap         = -1;
+      const int ConOff[8] = {0, 2, 4, 6, 7, 1, 3, 5};  //Get4 after Gbtx
+      for (Int_t iFeet = 0; iFeet < 5; iFeet++) {
+        for (Int_t iStr = 0; iStr < 32; iStr++) {
+          switch (iFeet) {
+            case 0: iSideMap = -1; break;
+            case 1:
+              iRpcMap  = 0;
+              iStrMap  = 3 - iStr % 4 + 4 * ConOff[iStr / 4];
+              iSideMap = 0;
+              break;
+            case 2:
+              iRpcMap  = 0;
+              iStrMap  = 3 - iStr % 4 + 4 * ConOff[iStr / 4];
+              iSideMap = 1;
+              break;
+            case 3:
+              iRpcMap  = 1;
+              iStrMap  = 3 - iStr % 4 + 4 * ConOff[iStr / 4];
+              iSideMap = 1;
+              break;
+            case 4:
+              iRpcMap  = 1;
+              iStrMap  = 3 - iStr % 4 + 4 * ConOff[iStr / 4];
+              iSideMap = 0;
+              break;
+          }
+          if (iSideMap > -1)
+            fviRpcChUId[uCh] =
+              CbmTofAddress::GetUniqueAddress(fiModuleId[uGbtx], iRpcMap, iStrMap, iSideMap, fiRpcType[uGbtx]);
+          else
+            fviRpcChUId[uCh] = 0;
+          uCh++;
+        }
+      }
+    }
   }
 }
+
 // -------------------------------------------------------------------------
 void CbmMcbm2018TofPar::BuildChannelsUidMapBuc(UInt_t& uCh, UInt_t uGbtx)
 {
@@ -662,11 +701,38 @@ void CbmMcbm2018TofPar::BuildChannelsUidMapBuc(UInt_t& uCh, UInt_t uGbtx)
           //   iStrMap=31-iStr;
           iSideMap = 1 - iSideMap;
           break;
-        case 3:
+        case 3: {
+          /*
           iStrMap  = 31 - iStr;
           iRpcMap  = 1 - iRpcMap;
           iSideMap = 1 - iSideMap;
-          break;
+          */
+          //const int ConOff[8]={0,5,1,6,2,7,3,4}; //Get44 on connector
+          const int ConOff[8] = {0, 2, 4, 6, 7, 1, 3, 5};  //Get4 after Gbtx
+          switch (iFeet) {
+            case 0: iSideMap = -1; break;
+            case 1:
+              iRpcMap  = 0;
+              iStrMap  = 3 - iStr % 4 + 4 * ConOff[iStr / 4];
+              iSideMap = 0;
+              break;
+            case 2:
+              iRpcMap  = 0;
+              iStrMap  = 3 - iStr % 4 + 4 * ConOff[iStr / 4];
+              iSideMap = 1;
+              break;
+            case 3:
+              iRpcMap  = 1;
+              iStrMap  = 3 - iStr % 4 + 4 * ConOff[iStr / 4];
+              iSideMap = 1;
+              break;
+            case 4:
+              iRpcMap  = 1;
+              iStrMap  = 3 - iStr % 4 + 4 * ConOff[iStr / 4];
+              iSideMap = 0;
+              break;
+          }
+        } break;
         case 4:  // HD cosmic 2019, Buc2018, v18o
           iRpcMap = 1 - iRpcMap;
           break;
@@ -773,7 +839,8 @@ void CbmMcbm2018TofPar::BuildChannelsUidMapBuc(UInt_t& uCh, UInt_t uGbtx)
         }
       }  // switch (fiRpcSide[uGbtx])
       if (iSideMap > -1)
-        fviRpcChUId[uCh] = CbmTofAddress::GetUniqueAddress(iModuleIdMap, iRpcMap, iStrMap, iSideMap, fiRpcType[uGbtx]);
+        fviRpcChUId[uCh] =
+          CbmTofAddress::GetUniqueAddress(iModuleIdMap, iRpcMap, iStrMap, iSideMap, fiRpcType[uGbtx] % 10);
       else
         fviRpcChUId[uCh] = 0;