diff --git a/src/THcConfigEvtHandler.cxx b/src/THcConfigEvtHandler.cxx
index c75b7db7b0ae80329001b9b7bafea1a3ecdb99b3..6e7ae611313aea5565c9bfb782beeba4866da656 100644
--- a/src/THcConfigEvtHandler.cxx
+++ b/src/THcConfigEvtHandler.cxx
@@ -193,6 +193,14 @@ void THcConfigEvtHandler::PrintConfig()
     it++;
   }
 }
+
+Int_t THcConfigEvtHandler::IsPresent(Int_t crate) {
+  if(CrateInfoMap.find(crate)!=CrateInfoMap.end()) {
+    CrateInfo_t *cinfo = CrateInfoMap[crate];
+    return cinfo->FADC250.present;
+  }
+  return(0);
+}
 Int_t THcConfigEvtHandler::GetNSA(Int_t crate) {
   if(CrateInfoMap.find(crate)!=CrateInfoMap.end()) {
     CrateInfo_t *cinfo = CrateInfoMap[crate];
diff --git a/src/THcConfigEvtHandler.h b/src/THcConfigEvtHandler.h
index 07007fd21f40bdc81d67ab6efc4b9bb1bb7ef613..dd2727ce0593c943d52ffbb9eccd022b17c55afe 100644
--- a/src/THcConfigEvtHandler.h
+++ b/src/THcConfigEvtHandler.h
@@ -25,6 +25,7 @@ public:
   virtual Int_t Analyze(THaEvData *evdata);
   virtual void AddEventType(Int_t evtype);
   virtual void PrintConfig();
+  virtual Int_t IsPresent(Int_t crate);
   virtual Int_t GetNSA(Int_t crate);
   virtual Int_t GetNSB(Int_t crate);
   virtual Int_t GetNPED(Int_t crate);
diff --git a/src/THcHitList.cxx b/src/THcHitList.cxx
index 45697822e41dc26aa122f220ae1388b8a1ce353a..eafad160db1562747325c21badb75d12f4f91083 100644
--- a/src/THcHitList.cxx
+++ b/src/THcHitList.cxx
@@ -223,7 +223,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata ) {
 	}
       } else {			// This is a Flash ADC
 
-        if (fPSE125) {  // Set F250 parameters.
+        if (fPSE125 && fPSE125->IsPresent(d->crate)) {  // Set F250 parameters.
           rawhit->SetF250Params(
             fPSE125->GetNSA(d->crate),
             fPSE125->GetNSB(d->crate),
diff --git a/src/THcRawAdcHit.cxx b/src/THcRawAdcHit.cxx
index 508b39bb0fc75944940ea18cdd2c5896574588bf..60dd6eda5cb9016b32ee0e9aa6a90c300d570408 100644
--- a/src/THcRawAdcHit.cxx
+++ b/src/THcRawAdcHit.cxx
@@ -459,6 +459,13 @@ Double_t THcRawAdcHit::GetSampleInt() const {
 
 
 void THcRawAdcHit::SetF250Params(Int_t NSA, Int_t NSB, Int_t NPED) {
+  if (NSA < 0 || NSB < 0 || NPED < 0) {
+    TString msg = TString::Format(
+      "`THcRawAdcHit::SetF250Params`: One of the params is negative!  NSA = %d  NSB = %d  NPED = %d",
+      NSA, NSB, NPED
+    );
+    throw std::invalid_argument(msg.Data());
+  }
   fNPedestalSamples = NPED;
   fNPeakSamples = NSA + NSB;
   fPeakPedestalRatio = 1.0*fNPeakSamples/fNPedestalSamples;