diff --git a/algo/detectors/tof/TofReadoutConfig.cxx b/algo/detectors/tof/TofReadoutConfig.cxx
index ac108fa1a986fe91d080b887de28a424b2138cca..6b8eb5048ef28a52852cf73f37a3b609515751d8 100644
--- a/algo/detectors/tof/TofReadoutConfig.cxx
+++ b/algo/detectors/tof/TofReadoutConfig.cxx
@@ -391,7 +391,24 @@ namespace cbm::algo
               case 2: iSideMap = 1; break;
             }
           } break;
-
+          case 8: {
+            // Special case for two channels in 2022
+            // Fallthrough to 7 for all other channels
+            if (2 == iFeet) {
+              if (7 == iStr) {
+                ///                                               SM Rpc St Si Type
+                fviRpcChUId[uCh] = CbmTofAddress::GetUniqueAddress(0, 0, 0, 0, 8);
+                uCh++;
+                continue;
+              }
+              else if (23 == iStr) {
+                ///                                               SM Rpc St Si Type
+                fviRpcChUId[uCh] = CbmTofAddress::GetUniqueAddress(1, 0, 0, 0, 8);
+                uCh++;
+                continue;
+              }
+            }
+          }
           case 7: {
             // clang-format off
           const int32_t iChMap[160]={
diff --git a/algo/detectors/tof/UnpackTof.cxx b/algo/detectors/tof/UnpackTof.cxx
index fa12645f2ee2052f6d5299dc9011b88fc42a67d2..3875d303e156e3ab3141dff7b98f670e6ebf5914 100644
--- a/algo/detectors/tof/UnpackTof.cxx
+++ b/algo/detectors/tof/UnpackTof.cxx
@@ -117,32 +117,8 @@ namespace cbm::algo
     double messageTime  = message.getMsgFullTimeD(fCurrentEpochInTs) - elinkPar.fTimeOffset;
     const double charge = (double) message.getGdpbHit32Tot();  //cast from uint32_t
 
-    {  // weird address hack   (probably should not be in final version)
-      std::unique_ptr<CbmTofDigi> digi(new CbmTofDigi(channelUId, messageTime, charge));
-      int iSmType = 8;
-      int iSm     = -1;
-      int iRpc    = 0;
-      int iDetId  = 0;
-      if (digi->GetType() == 6 && digi->GetRpc() == 1) {
-        switch ((int) (digi->GetChannel() * 2 + digi->GetSide())) {
-          case 62:  //800
-            iSm = 0;
-            break;
-          case 46:  //810
-            iSm = 1;
-            break;
-          default:;
-        }
-        if (iSm > -1) {
-          iDetId = CbmTofAddress::GetUniqueAddress(iSm, iRpc, 0, 0, iSmType);
-          digi->SetAddress(iDetId);
-        }
-      }
-      if (digi) digiVec.emplace_back(*std::move(digi));
-    }  //special remapping end
-
     // --- Create output digi
-    //digiVec.emplace_back(channelUId, messageTime, charge);  ((restore this))
+    digiVec.emplace_back(channelUId, messageTime, charge);
   }
   // --------------------------------------------------------------------------