diff --git a/core/base/CbmDigiManager.cxx b/core/base/CbmDigiManager.cxx
index 1d0e7f400344ef0103dd72c5db0f932e5f3a4b9a..f868b40d5c8b8e29efc45ad1d427bbcd62db2814 100644
--- a/core/base/CbmDigiManager.cxx
+++ b/core/base/CbmDigiManager.cxx
@@ -167,6 +167,41 @@ template <class Digi> void CbmDigiManager::SetBranch() {
       delete branch;
     }
 
+    // Special cases for mCBM TOF
+    if ( systemId == ECbmModuleId::kTof) {
+      if ( fBranches.find(systemId) == fBranches.end() ) {
+        branchName = "TofCalDigi";
+        branch = new CbmDigiBranch<Digi>(branchName.c_str());
+        if ( branch->ConnectToTree() ) {
+  	  LOG(info) << "DigiManager: Search branch " << branchName << " for class "
+	    	    << className << ": successful";
+	  fBranches[systemId] = branch;
+        } else {
+	  LOG(info) << "DigiManager: Search branch " << branchName << " for class "
+                    << className << ": failed";
+	  delete branch;
+        }
+      } 
+      if ( fBranches.find(systemId) == fBranches.end() ) {
+        branchName = "CbmTofDigi";
+        branch = new CbmDigiBranch<Digi>(branchName.c_str());
+        if ( branch->ConnectToTree() ) {
+	  LOG(info) << "DigiManager: Search branch " << branchName << " for class "
+	  	    << className << ": successful";
+	  fBranches[systemId] = branch;
+        } else {
+	  LOG(info) << "DigiManager: Search branch " << branchName << " for class "
+                    << className << ": failed";
+	  delete branch;
+        }
+      }
+      if ( fBranches.find(systemId) == fBranches.end() ) {
+    	branchName = "CbmTofCalDigi";
+        branch = new CbmDigiBranch<Digi>(branchName.c_str());
+        if ( branch->ConnectToTree() ) fBranches[systemId] = branch;
+        else delete branch;
+      }
+    }       
 }
 // -------------------------------------------------------------------------