diff --git a/Generators/PowhegControl/examples/MC15_examples/MC15.101010.PowhegPythia8EvtGen_A14NNPDF23_Hj_example.py b/Generators/PowhegControl/examples/MC15_examples/MC15.101010.PowhegPythia8EvtGen_A14NNPDF23_Hj_example.py
index bb0444a0ee9263d80734af1ab917551c08867f4c..f33e18611ebad9ecfd155ed64149214736cc9d0a 100644
--- a/Generators/PowhegControl/examples/MC15_examples/MC15.101010.PowhegPythia8EvtGen_A14NNPDF23_Hj_example.py
+++ b/Generators/PowhegControl/examples/MC15_examples/MC15.101010.PowhegPythia8EvtGen_A14NNPDF23_Hj_example.py
@@ -10,11 +10,11 @@ PowhegConfig.add_weight_to_group( group_name="quark_mass_variation", weight_name
 PowhegConfig.add_weight_to_group( group_name="quark_mass_variation", weight_name="mtinf", parameter_values=[0,0] )
 PowhegConfig.add_weight_to_group( group_name="quark_mass_variation", weight_name="mtmb-bminlo", parameter_values=[1,1] )
 # To combine the user-defined weights with NNLOPS
-PowhegConfig.NNLO_reweighting_inputs = { "nn-mtinf":"H1250_CM13_CT10_APX0_11.top", "nn-mtmb":"H1250_CM13_CT10_APX2_22.top" }
-PowhegConfig.NNLO_output_weights = { "nnlops-mtmb":"combine "nn-mtmb" and "mtmb"",\
-                                     "nnlops-mtinf":"combine "nn-mtinf" and "mtinf"",\
-                                     "nnlops-mtmb-bminlo":"combines "nn-mtmb" and "mtmb-bminlo""
-                                   }
+PowhegConfig.NNLO_reweighting_inputs["nn-mtinf"] = "H1250_CM13_CT10_APX0_11.top"
+PowhegConfig.NNLO_reweighting_inputs["nn-mtmb"] = "H1250_CM13_CT10_APX2_22.top"
+PowhegConfig.NNLO_output_weights["nnlops-mtmb"] = "combine 'nn-mtmb' and 'mtmb'"
+PowhegConfig.NNLO_output_weights["nnlops-mtinf"] = "combine \"nn-mtinf\" and \"mtinf\""
+PowhegConfig.NNLO_output_weights["nnlops-mtmb-bminlo"] = "combines \"nn-mtmb\" and 'mtmb-bminlo'"
 PowhegConfig.generate()
 
 #--------------------------------------------------------------
diff --git a/Generators/PowhegControl/python/ATLASCommonParameters.py b/Generators/PowhegControl/python/ATLASCommonParameters.py
index 793fe8c176fae66a28baea5d6b941450e257d1f3..1b0bd9424e067aceb9b7d260ac17e6ae93de876a 100644
--- a/Generators/PowhegControl/python/ATLASCommonParameters.py
+++ b/Generators/PowhegControl/python/ATLASCommonParameters.py
@@ -22,7 +22,7 @@ mass_g   = 0.75
 mass_t   = 172.5
 mass_W   = 80.399
 mass_Z   = 91.1876
-mass_H   = 125.09
+mass_H   = 125.0
 
 # Particle widths
 width_t = 1.32
diff --git a/Generators/PowhegControl/python/DecoratorFactory.py b/Generators/PowhegControl/python/DecoratorFactory.py
index 2dc2db99a6b6aeef5277f054e83b1af6414a1a97..cbcbb255461bb97342a277dffcd8c3539bd1bef8 100644
--- a/Generators/PowhegControl/python/DecoratorFactory.py
+++ b/Generators/PowhegControl/python/DecoratorFactory.py
@@ -14,7 +14,8 @@ import decorators
 #  @param decorator decorator name
 #  @param kwargs arguments to pass to the decorator
 def decorate(powheg_process, decorator, **kwargs):
-    decorator_name_to_class_name = dict([(cls.name, name) for name, cls in decorators.__dict__.items() if isinstance(cls, type)])
+    # Construct dictionary of decorator string to class name
+    decorator_name_to_class_name = dict([(_class.name, name) for name, _class in decorators.__dict__.items() if (isinstance(_class, type) and hasattr(_class, "name"))])
     try:
         powheg_process.logger.debug("Applying decorator: {}.".format(decorator))
         getattr(decorators, decorator_name_to_class_name[decorator])(powheg_process, **kwargs)
diff --git a/Generators/PowhegControl/python/PowhegConfig_base.py b/Generators/PowhegControl/python/PowhegConfig_base.py
index f09a4b8850a4e8610d37da4f5f96377230dbd6a5..c03b4a8a2d6b7c619178963d49b54689f27142a0 100644
--- a/Generators/PowhegControl/python/PowhegConfig_base.py
+++ b/Generators/PowhegControl/python/PowhegConfig_base.py
@@ -183,7 +183,10 @@ class PowhegConfig_base(object):
                 f.write("{:<30}! [ATLAS default: {}] {}\n".format("{} {}".format(name, value), default, desc))
                 # Print warnings for specific parameters
                 if name == "bornsuppfact" and value > 0:
-                    self.logger.warning("Born-level suppression is enabled: using this in conjunction with J-slicing may give problems.")
+                    self.logger.warning("Born-level suppression is enabled:"
+                    self.logger.warning("-> the cross-section passed to the parton shower will be inaccurate.")
+                    self.logger.warning("-> please use the cross-section printed in the log file before showering begins.")
+                    self.logger.warning("-> in addition, using this in conjunction with J-slicing may give problems.")
 
         # Check for NNLO reweighting
         if hasattr(self, "NNLO_reweighting_inputs") and len(self.NNLO_reweighting_inputs) > 0:
@@ -285,7 +288,7 @@ class PowhegConfig_base(object):
     # Run external Powheg process
     def __run_afterburners(self):
         # Run event weight calculator if bornsupfact was enabled
-        if self.bornsuppfact > 0.0 and self.bornktmin > 0.0:
+        if self.bornsuppfact > 0.0:
             strategies.afterburner_mean_event_weight_calculator(self.powheg_LHE_output)
 
         # Run MadSpin afterburner if requested
diff --git a/Generators/PowhegControl/python/decorators/NNLOReweightingDecorator.py b/Generators/PowhegControl/python/decorators/NNLOReweightingDecorator.py
index 6e131c81b3e470208b309cff38c4027832f5ecf0..e04c48583264257b2b02603dd65b1de1a1111a3b 100644
--- a/Generators/PowhegControl/python/decorators/NNLOReweightingDecorator.py
+++ b/Generators/PowhegControl/python/decorators/NNLOReweightingDecorator.py
@@ -6,7 +6,7 @@
 #  Authors: James Robinson  <james.robinson@cern.ch>
 
 #! /usr/bin/env python
-
+from collections import OrderedDict
 
 class NNLOReweightingDecorator(object):
 
@@ -18,15 +18,21 @@ class NNLOReweightingDecorator(object):
         decorated.run_card_decorators.append(self)
         self.decorated = decorated
 
-        self.decorated.add_phantom("NNLO_reweighting_inputs", {}, desc="dictionary of labels => (pre-existing) HNNLO output")
-        self.decorated.add_phantom("NNLO_output_weights", {},     desc="dictionary of weight ID string => weight calculation in NNLOPS format")
+        self.decorated.add_phantom("NNLO_reweighting_inputs", OrderedDict(), desc="dictionary of labels => (pre-existing) HNNLO output")
+        self.decorated.add_phantom("NNLO_output_weights", OrderedDict(),     desc="dictionary of weight ID string => weight calculation in NNLOPS format")
 
     # Check that NNLO reweighting arguments are dictionaries
     def finalise(self):
         # Check NNLO reweighting inputs
-        if not isinstance(self.decorated.NNLO_reweighting_inputs, dict):
-            self.decorated.logger.fatal("NNLO_reweighting_inputs does not appear to be a valid label => file dictionary!")
+        if not isinstance(self.decorated.NNLO_reweighting_inputs, OrderedDict):
+            if isinstance(self.decorated.NNLO_reweighting_inputs, dict):
+                self.decorated.logger.warning("NNLO_reweighting_inputs has been provided as an old-style unordered dictionary.")
+            else:
+                self.decorated.logger.fatal("NNLO_reweighting_inputs does not appear to be a valid label => file dictionary!")
 
         # Check NNLO weight outputs
-        if not isinstance(self.decorated.NNLO_output_weights, dict):
-            self.decorated.logger.fatal("NNLO_output_weights does not appear to be a valid ID string => calculation string!")
+        if not isinstance(self.decorated.NNLO_output_weights, OrderedDict):
+            if isinstance(self.decorated.NNLO_reweighting_inputs, dict):
+                self.decorated.logger.warning("NNLO_output_weights has been provided as an unordered dictionary! Weight numbering will be arbitrary")
+            else:
+                self.decorated.logger.fatal("NNLO_output_weights does not appear to be a valid ID string => calculation dictionary!")
diff --git a/Generators/PowhegControl/python/decorators/SecondGenerationQuarkMassDecorator.py b/Generators/PowhegControl/python/decorators/SecondGenerationQuarkMassDecorator.py
index 88961eadf44490d397f08d5d471eb16a906b50e3..21f9725ca5833754d9450b2dd902cfd3853d5daf 100644
--- a/Generators/PowhegControl/python/decorators/SecondGenerationQuarkMassDecorator.py
+++ b/Generators/PowhegControl/python/decorators/SecondGenerationQuarkMassDecorator.py
@@ -20,8 +20,8 @@ class SecondGenerationQuarkMassDecorator(object):
         self.decorated = decorated
 
         if "lhfm" in prefix:
-            self.decorated.add_parameter("mass_b", ATLASCommonParameters.mass_b, desc="b-quark mass in GeV",                              parameter="lhfm/bmass")
-            self.decorated.add_parameter("mass_c", ATLASCommonParameters.mass_c, desc="c-quark mass in GeV",                              parameter="lhfm/cmass")
+            self.decorated.add_parameter("mass_b", ATLASCommonParameters.mass_b, desc="b-quark mass in GeV", parameter="lhfm/bmass")
+            self.decorated.add_parameter("mass_c", ATLASCommonParameters.mass_c, desc="c-quark mass in GeV", parameter="lhfm/cmass")
         if "lhe" in prefix:
             self.decorated.add_parameter("mass_b", ATLASCommonParameters.mass_b, desc="set b-quark mass in GeV for momentum reshuffling", parameter="bmass_lhe")
             self.decorated.add_parameter("mass_c", ATLASCommonParameters.mass_c, desc="set c-quark mass in GeV for momentum reshuffling", parameter="cmass_lhe")
diff --git a/Generators/PowhegControl/python/processes/PowhegConfig_DMGG.py b/Generators/PowhegControl/python/processes/PowhegConfig_DMGG.py
index 753bc79ba9c7e22f8db95f277d86ca065ba514af..5415155744dc9321d9e67adf8ec6b5c2e411e151 100644
--- a/Generators/PowhegControl/python/processes/PowhegConfig_DMGG.py
+++ b/Generators/PowhegControl/python/processes/PowhegConfig_DMGG.py
@@ -21,7 +21,7 @@ class PowhegConfig_DMGG(PowhegConfig_base):
         self._powheg_executable += "/DMGG/pwhg_main"
 
         # Add process specific options
-        self.add_parameter("Lambda", 100, desc="UV scale", parameter="DMLambda")
+        self.add_parameter("Lambda", 100,    desc="UV scale", parameter="DMLambda")
         self.add_parameter("nloformfact", 1, desc="(0:disabled; 1:enabled) include Higgs-specific corrections into GGS and GGP form factor")
 
         # Decorate with generic option sets
diff --git a/Generators/PowhegControl/python/processes/PowhegConfig_VBF_ssWW.py b/Generators/PowhegControl/python/processes/PowhegConfig_VBF_ssWW.py
index 416ce295f86804c8c65187b8e8293afc01744bbe..a5be722134edebc3e84f27c2eb58f3837163d580 100644
--- a/Generators/PowhegControl/python/processes/PowhegConfig_VBF_ssWW.py
+++ b/Generators/PowhegControl/python/processes/PowhegConfig_VBF_ssWW.py
@@ -54,7 +54,7 @@ class PowhegConfig_VBF_ssWW(PowhegConfig_base):
                                     "WpWpemuvemuv", "WpWpemuvlv",
                                     "WmWmemuvemuv", "WmWmemuvlv",
                                     "WpWplvlv", "WmWmlvlv"]
-        self.decay_mode = "WpWplvlv"
-        self.withdamp   = 1
+        self.decay_mode          = "WpWplvlv"
+        self.withdamp            = 1
 
         self.populate_default_strings()
diff --git a/Generators/PowhegControl/python/processes/PowhegConfig_jj.py b/Generators/PowhegControl/python/processes/PowhegConfig_jj.py
index 3d1290420f9d2faf818fd8213c5083f145df3c36..a525a67fedeed0704c72e384a507d628b951ae8d 100644
--- a/Generators/PowhegControl/python/processes/PowhegConfig_jj.py
+++ b/Generators/PowhegControl/python/processes/PowhegConfig_jj.py
@@ -1,6 +1,6 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
-   # @PowhegControl PowhegConfig_jj
+# @PowhegControl PowhegConfig_jj
 #  Powheg configuration for jj subprocess
 #
 #  Authors: James Robinson  <james.robinson@cern.ch>
diff --git a/Generators/PowhegControl/python/processes/PowhegConfig_ssWWjj.py b/Generators/PowhegControl/python/processes/PowhegConfig_ssWWjj.py
index 5f21565ba0f29334b3f498c9b89ca220db68b8c1..6c95163c2dee35311bf3fec853d683dda4e8bc7c 100644
--- a/Generators/PowhegControl/python/processes/PowhegConfig_ssWWjj.py
+++ b/Generators/PowhegControl/python/processes/PowhegConfig_ssWWjj.py
@@ -60,6 +60,6 @@ class PowhegConfig_ssWWjj(PowhegConfig_base):
                                     "WpWpemuvemuv", "WpWpemuvlv",
                                     "WmWmemuvemuv", "WmWmemuvlv",
                                     "WpWplvlv", "WmWmlvlv"]
-        self.decay_mode = "WpWplvlv"
+        self.decay_mode          = "WpWplvlv"
 
         self.populate_default_strings()
diff --git a/Generators/PowhegControl/python/strategies/AfterburnerMeanEventWeightCalculator.py b/Generators/PowhegControl/python/strategies/AfterburnerMeanEventWeightCalculator.py
index ff30cee6e7f7c4b53e0315cfb0a356f357d587c5..ca94fdef8e2f14c3463c3ccead1956e21716765f 100644
--- a/Generators/PowhegControl/python/strategies/AfterburnerMeanEventWeightCalculator.py
+++ b/Generators/PowhegControl/python/strategies/AfterburnerMeanEventWeightCalculator.py
@@ -8,8 +8,6 @@
 
 #! /usr/bin/env python
 from AthenaCommon.Logging import logging
-import itertools as it
-import numpy as np
 from ..utility import LHEUtils
 
 # Initialise logging handler
@@ -19,7 +17,14 @@ logger = logging.getLogger("PowhegControl")
 def afterburner_mean_event_weight_calculator(LHE_file_name):
     logger.info("Born-level suppression is enabled so the cross-section MUST be recalculated!")
     # LHEUtils returns a generator, since the input file may be large
-    sum_of_weights, n_events = reduce(np.add, it.izip(LHEUtils.event_weight_iterator(LHE_file_name), it.repeat(1)))
+    sum_of_weights, n_events = 0., 0
+    for event_weight in LHEUtils.event_weight_iterator(LHE_file_name):
+        sum_of_weights += event_weight
+        n_events += 1
+    # import numpy as np
+    # import itertools as it
+    # sum_of_weights, n_events = reduce(np.add, it.izip(LHEUtils.event_weight_iterator(LHE_file_name), it.repeat(1)))
+
     # Print statistics to logger
     logger.info("... sum of event weights is:    {}".format(sum_of_weights))
     logger.info("... number of events generated: {}".format(int(n_events)))
diff --git a/Generators/PowhegControl/python/strategies/AfterburnerNNLOReweighting.py b/Generators/PowhegControl/python/strategies/AfterburnerNNLOReweighting.py
index 0c0d339f01a2e51843a3a2a5f28f83c84c856e93..cbc5ab14acf517b885f4535dc35afae2f94815db 100644
--- a/Generators/PowhegControl/python/strategies/AfterburnerNNLOReweighting.py
+++ b/Generators/PowhegControl/python/strategies/AfterburnerNNLOReweighting.py
@@ -18,8 +18,6 @@ from ..utility import LHEUtils, ProcessHandling
 logger = logging.getLogger("PowhegControl")
 
 # Convenience function to set up an instance of the reweighting class
-
-
 def afterburner_NNLO_reweighting(configurator):
     reweighter = AfterburnerNNLOReweighting(configurator)
     reweighter.run_NNLO_executable()
diff --git a/Generators/PowhegControl/python/strategies/AfterburnerReweighting.py b/Generators/PowhegControl/python/strategies/AfterburnerReweighting.py
index 135bf569b5b8a7da32c8be6bd43132d8a5d94a78..0507daca9770a811cce3645fa5529d4753ed8ed5 100644
--- a/Generators/PowhegControl/python/strategies/AfterburnerReweighting.py
+++ b/Generators/PowhegControl/python/strategies/AfterburnerReweighting.py
@@ -18,8 +18,6 @@ from ..utility import FileParser, RepeatingTimer
 logger = logging.getLogger("PowhegControl")
 
 # Initialise and validate reweighting lists
-
-
 def initialise_reweighting(configurator):
     logger.info("Initialising PDF/scale variations")
 
diff --git a/Generators/PowhegControl/python/utility/ProcessHandling.py b/Generators/PowhegControl/python/utility/ProcessHandling.py
index 3a2ae5ab9f61ff9e49cbace57ae106c8e39b0a63..5d21f9dca480d704554a90dbe600b34eb6ad5e58 100644
--- a/Generators/PowhegControl/python/utility/ProcessHandling.py
+++ b/Generators/PowhegControl/python/utility/ProcessHandling.py
@@ -68,7 +68,7 @@ class SingleProcessThread(object):
     # Check if the underlying process is running and finalise stream readers if not
     def is_running(self):
         if self.__process.poll() is not None:  # process has ended
-            for nbsr in ("stdout", "stderr") :
+            for nbsr in ("stdout", "stderr"):
                 getattr(self, nbsr).finalise()
             return False
         return True