diff --git a/DDDigi/README.md b/DDDigi/README.md
index 7cd4ca7cf417df5180d3e30f12571219968028f9..a0678f1969d1e5409dd21b989598d25cf32b542a 100644
--- a/DDDigi/README.md
+++ b/DDDigi/README.md
@@ -68,13 +68,19 @@ energy deposits of the simulation.
 
   Functionality: self explaining
 
-- DigiAttenuate
+- DigiAttenuator
 
   Deposit attenuator for energy deposits according to decay time constant. <br/>
   Properties: <br/>
     |**Property**  |**Data type**    |**Description**                                                  |
     |:---          |:---             |:---                                                             |
     |`.input`      | vector<string>  | List of input files to be processed                             |
+    |`.attenuate_history`| boolean   | Propagate the weight also to the history entries. default: true |
+    |`.processor_type`| string       | Processor type used for single container attenuation default: `DigiAttenuator` |
+    |`.containers` | vector<string>  | List of containers to be attenuated.                            |
+    |`.signal_decay`| string         | Decay function. default: `exponential`                          |
+    |`.t0`         | double          | Time constant for exponential signal decay.                     |
+
 
 
 ![HORIZON2020](../doc/usermanuals/DD4hep/figures/AIDAinnova.png)
diff --git a/DDDigi/src/DigiAttenuator.cpp b/DDDigi/src/DigiAttenuator.cpp
index a32ec88ff5c490ee229097c2006f511234f90a5a..ecd09d0a3f9c82634bc2bda9553a57308759047b 100644
--- a/DDDigi/src/DigiAttenuator.cpp
+++ b/DDDigi/src/DigiAttenuator.cpp
@@ -48,6 +48,8 @@ DigiAttenuator::attenuate(T& cont, const predicate_t& predicate) const {
   for( auto& dep : cont )   {
     if ( predicate(dep) )   {
       dep.second.deposit *= m_factor;
+      if ( !m_attenuate_history ) 
+	continue;
       auto& e = dep.second.history;
       for( auto& h : e.hits ) h.weight *= m_factor;
       for( auto& h : e.particles ) h.weight *= m_factor;
@@ -87,7 +89,6 @@ DigiAttenuatorSequence::DigiAttenuatorSequence(const DigiKernel& krnl, const std
   : DigiContainerSequenceAction(krnl, nam)
 {
   declareProperty("attenuate_history", m_attenuate_history);
-  declareProperty("attenuate_data",    m_attenuate_data);
   declareProperty("processor_type",    m_processor_type = "DigiAttenuator");
   declareProperty("containers",        m_container_attenuation);
   declareProperty("signal_decay",      m_signal_decay = "exponential");
@@ -118,30 +119,16 @@ void DigiAttenuatorSequence::initialize()   {
 	     m_signal_decay.c_str());
       break;
     }
-    // First bunch of processors: Attenuate the signal
-    if ( m_attenuate_data )    {
-      std::string nam = name() + ".D." + c.first;
-      auto* att = createAction<DigiAttenuator>(m_processor_type, m_kernel, nam);
-      if ( !att )   {
-	except("+++ Failed to create signal attenuator: %s of type: %s",
-	       nam.c_str(), m_processor_type.c_str());
-      }
-      att->property("factor").set(factor);
-      att->property("OutputLevel").set(int(outputLevel()));
-      adopt_processor(att, c.first);
-    }
-    // Second bunch of processors: Attenuate the history weights accordingly
-    if ( m_attenuate_history )    {
-      std::string nam = name() + ".H." + c.first;
-      auto* att = createAction<DigiAttenuator>(m_processor_type, m_kernel, nam);
-      if ( !att )   {
-	except("+++ Failed to create signal attenuator: %s of type: %s",
-	       nam.c_str(), m_processor_type.c_str());
-      }
-      att->property("factor").set(factor);
-      adopt_processor(att, c.first+".hist");
-      att->property("OutputLevel").set(int(outputLevel()));
+    // Attenuate the signal
+    std::string nam = name() + ".D." + c.first;
+    auto* att = createAction<DigiAttenuator>(m_processor_type, m_kernel, nam);
+    if ( !att )   {
+      except("+++ Failed to create signal attenuator: %s of type: %s",
+	     nam.c_str(), m_processor_type.c_str());
     }
+    att->property("factor").set(factor);
+    att->property("OutputLevel").set(int(outputLevel()));
+    adopt_processor(att, c.first);
   }
   this->DigiContainerSequenceAction::initialize();
 }