diff --git a/src/THcTrigDet.cxx b/src/THcTrigDet.cxx
index 455367a350f0f5e9be2f73f283c53272af4d5211..8c94610080d7a81ddec42637ab706763b71b3b44 100644
--- a/src/THcTrigDet.cxx
+++ b/src/THcTrigDet.cxx
@@ -129,7 +129,11 @@ THcTrigDet::THcTrigDet(
   fAdcPedRaw(), fAdcPulseIntRaw(), fAdcPulseAmpRaw(), fAdcPulseTimeRaw(),
   fAdcPed(), fAdcPulseInt(), fAdcPulseAmp(), fAdcPulseTime(),
   fTdcMultiplicity(), fAdcMultiplicity()
-{}
+{
+  // Guess at spectrometer name that this trigger detector is associated with
+  // Can override with SetSpectName
+  fSpectName = name[0];
+}
 
 
 THcTrigDet::~THcTrigDet() {}
@@ -178,6 +182,12 @@ THaAnalysisObject::EStatus THcTrigDet::Init(const TDatime& date) {
   // printf(" Init trig det hitlist\n");
   InitHitList(fDetMap, "THcTrigRawHit", 100);
 
+  fPresentP = 0;
+  THaVar* vpresent = gHaVars->Find(Form("%s.present",fSpectName.Data()));
+  if(vpresent) {
+    fPresentP = (Bool_t *) vpresent->GetValuePointer();
+  }
+
   fStatus = kOK;
   return fStatus;
 }
@@ -208,7 +218,11 @@ void THcTrigDet::Clear(Option_t* opt) {
 
 Int_t THcTrigDet::Decode(const THaEvData& evData) {
   // Decode raw data for this event.
-  Int_t numHits = DecodeToHitList(evData);
+  Bool_t present = kTRUE;	// Suppress reference time warnings
+  if(fPresentP) {		// if this spectrometer not part of trigger
+    present = *fPresentP;
+  }
+  Int_t numHits = DecodeToHitList(evData, !present);
 
   // Process each hit and fill variables.
   Int_t iHit = 0;
@@ -426,6 +440,11 @@ Int_t THcTrigDet::DefineVariables(THaAnalysisObject::EMode mode) {
 
   return DefineVarsFromList(vars.data(), mode);
 }
+void THcTrigDet::SetSpectName( const char* name)
+{
+  fSpectName = name;
+}
+
 
 
 ClassImp(THcTrigDet)
diff --git a/src/THcTrigDet.h b/src/THcTrigDet.h
index c2d4a9008c430f83a5b120dc3edf75677525afc3..b6144f264f6000e70fb5f319ddef4c276ca9666a 100644
--- a/src/THcTrigDet.h
+++ b/src/THcTrigDet.h
@@ -26,6 +26,8 @@ class THcTrigDet : public THaDetector, public THcHitList {
     virtual void Clear(Option_t* opt="");
     Int_t Decode(const THaEvData& evData);
 
+    virtual void SetSpectName( const char* name);
+
   protected:
     void Setup(const char* name, const char* description);
     virtual Int_t ReadDatabase(const TDatime& date);
@@ -62,6 +64,9 @@ class THcTrigDet : public THaDetector, public THcHitList {
     Int_t fTdcMultiplicity[fMaxTdcChannels];
     Int_t fAdcMultiplicity[fMaxAdcChannels];
 
+    TString fSpectName;
+    Bool_t* fPresentP;
+
   private:
     THcTrigDet();
     ClassDef(THcTrigDet, 0);