diff --git a/src/DIS-Matchbox.in b/src/DIS-Matchbox.in
--- a/src/DIS-Matchbox.in
+++ b/src/DIS-Matchbox.in
@@ -1,145 +1,147 @@
 # -*- ThePEG-repository -*-
 
 ##################################################
 ## Herwig/Matchbox example input file
 ##################################################
 
 ##################################################
 ## Collider type
 ##################################################
 
 read Matchbox/EPCollider.in
 
 ##################################################
 ## Beam energies
 ##################################################
 
 cd /Herwig/EventHandlers
 set EventHandler:BeamA /Herwig/Particles/e+
 set EventHandler:LuminosityFunction:BeamEMaxA 27.5.*GeV
 set EventHandler:BeamB /Herwig/Particles/p+
 set EventHandler:LuminosityFunction:BeamEMaxB 820.*GeV
 # no pdfs for leptons
 set /Herwig/Shower/ShowerHandler:PDFA /Herwig/Partons/ShowerLOPDF
 set /Herwig/Partons/MPIExtractor:FirstPDF  /Herwig/Partons/MPIPDF
 set /Herwig/Partons/QCDExtractor:FirstPDF  /Herwig/Partons/HardNLOPDF
 
 ##################################################
 ## Process selection
 ##################################################
 
 ## Note that event generation may fail if no matching matrix element has
 ## been found.  Coupling orders are with respect to the Born process,
 ## i.e. NLO QCD does not require an additional power of alphas.
 
 ## Set the order of the couplings
 cd /Herwig/MatrixElements/Matchbox
 set Factory:OrderInAlphaS 0
 set Factory:OrderInAlphaEW 2
 
 ## Select the process
 ## You may use identifiers such as p, pbar, j, l, mu+, h0 etc.
 do Factory:Process e+ p -> e+ j
 
 ## Special settings required for on-shell production of unstable particles
 ## enable for on-shell top production
 # read Matchbox/OnShellTopProduction.in
 ## enable for on-shell W, Z or h production
-# read Matchbox/OnShellEWProduction.in
+# read Matchbox/OnShellWProduction.in
+# read Matchbox/OnShellZProduction.in
+# read Matchbox/OnShellHProduction.in
 
 ##################################################
 ## Matrix element library selection
 ##################################################
 
 ## Select a generic tree/loop combination or a
 ## specialized NLO package
 
 # read Matchbox/MadGraph-GoSam.in
 # read Matchbox/MadGraph-MadGraph.in
 # read Matchbox/MadGraph-NJet.in
 # read Matchbox/MadGraph-OpenLoops.in
 
 ##################################################
 ## Cut selection
 ## See the documentation for more options
 ##################################################
 
 ## cuts on additional jets
 
 # read Matchbox/DefaultEPJets.in
 
 # insert JetCuts:JetRegions 0 FirstJet
 # insert JetCuts:JetRegions 1 SecondJet
 # insert JetCuts:JetRegions 2 ThirdJet
 
 ##################################################
 ## Scale choice
 ## See the documentation for more options
 ##################################################
 
 cd /Herwig/MatrixElements/Matchbox
 set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonQ2Scale
 
 ##################################################
 ## Matching and shower selection
 ## Please also see flavour scheme settings
 ## towards the end of the input file.
 ##################################################
 
 read Matchbox/MCatNLO-DefaultShower.in
 # read Matchbox/Powheg-DefaultShower.in
 ## use for strict LO/NLO comparisons
 # read Matchbox/MCatLO-DefaultShower.in
 ## use for improved LO showering
 # read Matchbox/LO-DefaultShower.in
 
 # read Matchbox/MCatNLO-DipoleShower.in
 # read Matchbox/Powheg-DipoleShower.in
 ## use for strict LO/NLO comparisons
 # read Matchbox/MCatLO-DipoleShower.in
 ## use for improved LO showering
 # read Matchbox/LO-DipoleShower.in
 
 # read Matchbox/NLO-NoShower.in
 # read Matchbox/LO-NoShower.in
 
 ##################################################
 ## Scale uncertainties
 ##################################################
 
 # read Matchbox/MuDown.in
 # read Matchbox/MuUp.in
 
 ##################################################
 ## Shower scale uncertainties
 ##################################################
 
 # read Matchbox/MuQDown.in
 # read Matchbox/MuQUp.in
 
 ##################################################
 ## PDF choice
 ##################################################
 
 read Matchbox/FiveFlavourScheme.in
 ## required for dipole shower and fixed order in five flavour scheme
 # read Matchbox/FiveFlavourNoBMassScheme.in
 read Matchbox/MMHT2014.in
 
 ##################################################
 ## Analyses
 ##################################################
 
 # cd /Herwig/Analysis
 # insert Rivet:Analyses 0 XXX_2015_ABC123
 # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 Rivet
 # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 HepMC
 
 ##################################################
 ## Save the generator
 ##################################################
 
 do /Herwig/MatrixElements/Matchbox/Factory:ProductionMode
 
 cd /Herwig/Generators
 saverun DIS-Matchbox EventGenerator
diff --git a/src/LEP-Matchbox.in b/src/LEP-Matchbox.in
--- a/src/LEP-Matchbox.in
+++ b/src/LEP-Matchbox.in
@@ -1,138 +1,140 @@
 # -*- ThePEG-repository -*-
 
 ##################################################
 ## Herwig/Matchbox example input file
 ##################################################
 
 ##################################################
 ## Collider type
 ##################################################
 
 read Matchbox/EECollider.in
 
 ##################################################
 ## Beam energy sqrt(s)
 ##################################################
 
 cd /Herwig/EventHandlers
 set EventHandler:LuminosityFunction:Energy 91.2*GeV
 
 ##################################################
 ## Process selection
 ##################################################
 
 ## Note that event generation may fail if no matching matrix element has
 ## been found.  Coupling orders are with respect to the Born process,
 ## i.e. NLO QCD does not require an additional power of alphas.
 
 ## Set the order of the couplings
 cd /Herwig/MatrixElements/Matchbox
 set Factory:OrderInAlphaS 0
 set Factory:OrderInAlphaEW 2
 
 ## Select the process
 ## You may use identifiers such as p, pbar, j, l, mu+, h0 etc.
 do Factory:Process e- e+ -> j j
 
 ## Special settings required for on-shell production of unstable particles
 ## enable for on-shell top production
 # read Matchbox/OnShellTopProduction.in
 ## enable for on-shell W, Z or h production
-# read Matchbox/OnShellEWProduction.in
+# read Matchbox/OnShellWProduction.in
+# read Matchbox/OnShellZProduction.in
+# read Matchbox/OnShellHProduction.in
 
 ##################################################
 ## Matrix element library selection
 ##################################################
 
 ## Select a generic tree/loop combination or a
 ## specialized NLO package
 
 # read Matchbox/MadGraph-GoSam.in
 # read Matchbox/MadGraph-MadGraph.in
 # read Matchbox/MadGraph-NJet.in
 # read Matchbox/MadGraph-OpenLoops.in
 
 ## Uncomment this to use ggh effective couplings
 ## currently only supported by MadGraph-GoSam
 
 # read Matchbox/HiggsEffective.in
 
 ##################################################
 ## Cut selection
 ## See the documentation for more options
 ##################################################
 
 ## cuts on additional jets
 
 # read Matchbox/DefaultEEJets.in
 
 # set NJetsCut:NJetsMin 3
 
 ##################################################
 ## Scale choice
 ## See the documentation for more options
 ##################################################
 
 cd /Herwig/MatrixElements/Matchbox
 set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/SHatScale
 
 ##################################################
 ## Matching and shower selection
 ##################################################
 
 read Matchbox/MCatNLO-DefaultShower.in
 # read Matchbox/Powheg-DefaultShower.in
 ## use for strict LO/NLO comparisons
 # read Matchbox/MCatLO-DefaultShower.in
 ## use for improved LO showering
 # read Matchbox/LO-DefaultShower.in
 
 # read Matchbox/MCatNLO-DipoleShower.in
 # read Matchbox/Powheg-DipoleShower.in
 ## use for strict LO/NLO comparisons
 # read Matchbox/MCatLO-DipoleShower.in
 ## use for improved LO showering
 # read Matchbox/LO-DipoleShower.in
 
 # read Matchbox/NLO-NoShower.in
 # read Matchbox/LO-NoShower.in
 
 ##################################################
 ## Scale uncertainties
 ##################################################
 
 # read Matchbox/MuDown.in
 # read Matchbox/MuUp.in
 
 ##################################################
 ## Shower scale uncertainties
 ##################################################
 
 # read Matchbox/MuQDown.in
 # read Matchbox/MuQUp.in
 
 ##################################################
 ## Analyses
 ##################################################
 
 # cd /Herwig/Analysis
 # insert Rivet:Analyses 0 XXX_2015_ABC123
 # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 Rivet
 # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 HepMC
 
 ##################################################
 ## Do not apply profile scales for LEP as hard
 ## scale coincides with kinematic limit
 ##################################################
 
 set /Herwig/Shower/ShowerHandler:HardScaleProfile NULL
 set /Herwig/DipoleShower/DipoleShowerHandler:HardScaleProfile NULL
 
 ##################################################
 ## Save the generator
 ##################################################
 
 do /Herwig/MatrixElements/Matchbox/Factory:ProductionMode
 
 cd /Herwig/Generators
 saverun LEP-Matchbox EventGenerator
diff --git a/src/LHC-Matchbox.in b/src/LHC-Matchbox.in
--- a/src/LHC-Matchbox.in
+++ b/src/LHC-Matchbox.in
@@ -1,151 +1,153 @@
 # -*- ThePEG-repository -*-
 
 ##################################################
 ## Herwig/Matchbox example input file
 ##################################################
 
 ##################################################
 ## Collider type
 ##################################################
 
 read Matchbox/PPCollider.in
 
 ##################################################
 ## Beam energy sqrt(s)
 ##################################################
 
 cd /Herwig/EventHandlers
 set EventHandler:LuminosityFunction:Energy 13000*GeV
 
 ##################################################
 ## Process selection
 ##################################################
 
 ## Note that event generation may fail if no matching matrix element has
 ## been found.  Coupling orders are with respect to the Born process,
 ## i.e. NLO QCD does not require an additional power of alphas.
 
 ## Set the order of the couplings
 cd /Herwig/MatrixElements/Matchbox
 set Factory:OrderInAlphaS 0
 set Factory:OrderInAlphaEW 2
 
 ## Select the process
 ## You may use identifiers such as p, pbar, j, l, mu+, h0 etc.
 do Factory:Process p p -> e+ e-
 
 ## Special settings required for on-shell production of unstable particles
 ## enable for on-shell top production
 # read Matchbox/OnShellTopProduction.in
 ## enable for on-shell W, Z or h production
-# read Matchbox/OnShellEWProduction.in
+# read Matchbox/OnShellWProduction.in
+# read Matchbox/OnShellZProduction.in
+# read Matchbox/OnShellHProduction.in
 # Special settings for the VBF approximation
 # read Matchbox/VBFDiagramsOnly.in
 
 ##################################################
 ## Matrix element library selection
 ##################################################
 
 ## Select a generic tree/loop combination or a
 ## specialized NLO package
 
 # read Matchbox/MadGraph-GoSam.in
 # read Matchbox/MadGraph-MadGraph.in
 # read Matchbox/MadGraph-NJet.in
 # read Matchbox/MadGraph-OpenLoops.in
 # read Matchbox/HJets.in
 # read Matchbox/VBFNLO.in
 
 ## Uncomment this to use ggh effective couplings
 ## currently only supported by MadGraph-GoSam
 
 # read Matchbox/HiggsEffective.in
 
 ##################################################
 ## Cut selection
 ## See the documentation for more options
 ##################################################
 
 set /Herwig/Cuts/ChargedLeptonPairMassCut:MinMass 60*GeV
 set /Herwig/Cuts/ChargedLeptonPairMassCut:MaxMass 120*GeV
 
 ## cuts on additional jets
 
 # read Matchbox/DefaultPPJets.in
 
 # insert JetCuts:JetRegions 0 FirstJet
 # insert JetCuts:JetRegions 1 SecondJet
 # insert JetCuts:JetRegions 2 ThirdJet
 # insert JetCuts:JetRegions 3 FourthJet
 
 ##################################################
 ## Scale choice
 ## See the documentation for more options
 ##################################################
 
 cd /Herwig/MatrixElements/Matchbox
 set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale
 
 ##################################################
 ## Matching and shower selection
 ## Please also see flavour scheme settings
 ## towards the end of the input file.
 ##################################################
 
 read Matchbox/MCatNLO-DefaultShower.in
 # read Matchbox/Powheg-DefaultShower.in
 ## use for strict LO/NLO comparisons
 # read Matchbox/MCatLO-DefaultShower.in
 ## use for improved LO showering
 # read Matchbox/LO-DefaultShower.in
 
 # read Matchbox/MCatNLO-DipoleShower.in
 # read Matchbox/Powheg-DipoleShower.in
 ## use for strict LO/NLO comparisons
 # read Matchbox/MCatLO-DipoleShower.in
 ## use for improved LO showering
 # read Matchbox/LO-DipoleShower.in
 
 # read Matchbox/NLO-NoShower.in
 # read Matchbox/LO-NoShower.in
 
 ##################################################
 ## Scale uncertainties
 ##################################################
 
 # read Matchbox/MuDown.in
 # read Matchbox/MuUp.in
 
 ##################################################
 ## Shower scale uncertainties
 ##################################################
 
 # read Matchbox/MuQDown.in
 # read Matchbox/MuQUp.in
 
 ##################################################
 ## PDF choice
 ##################################################
 
 read Matchbox/FiveFlavourScheme.in
 ## required for dipole shower and fixed order in five flavour scheme
 # read Matchbox/FiveFlavourNoBMassScheme.in
 read Matchbox/MMHT2014.in
 
 ##################################################
 ## Analyses
 ##################################################
 
 # cd /Herwig/Analysis
 # insert Rivet:Analyses 0 XXX_2015_ABC123
 # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 Rivet
 # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 HepMC
 
 ##################################################
 ## Save the generator
 ##################################################
 
 do /Herwig/MatrixElements/Matchbox/Factory:ProductionMode
 
 cd /Herwig/Generators
 saverun LHC-Matchbox EventGenerator
diff --git a/src/Matchbox/Makefile.am b/src/Matchbox/Makefile.am
--- a/src/Matchbox/Makefile.am
+++ b/src/Matchbox/Makefile.am
@@ -1,67 +1,69 @@
 BUILT_SOURCES = done-all-links
 
 Matchboxdir = ${pkgdatadir}/Matchbox
 
 INPUTFILES = \
 DefaultEEJets.in \
 DefaultEPJets.in \
 DefaultPPJets.in \
 EECollider.in \
 EPCollider.in \
 FiveFlavourScheme.in \
 FiveFlavourNoBMassScheme.in \
 FourFlavourScheme.in \
 GenericCollider.in \
 HiggsEffective.in \
 HJets.in \
 IdentifiedBs.in \
 InclusiveDurhamJets.in \
 IncreaseVerbosity.in \
 LO-DefaultShower.in \
 LO-DipoleShower.in \
 MCatLO-DefaultShower.in \
 MCatLO-DipoleShower.in \
 LO.in \
 LO-NoShower.in \
 MadGraph-MadGraph.in \
 GoSam-GoSam.in \
 OpenLoops-OpenLoops.in \
 MadGraph-GoSam.in \
 MadGraph-NJet.in \
 NJet-NJet.in \
 MadGraph-OpenLoops.in \
 MCatNLO-DefaultShower.in \
 MCatNLO-DipoleShower.in \
 MuDown.in \
 MuQDown.in \
 MuQUp.in \
 MuUp.in \
 NLO-NoShower.in \
-OnShellEWProduction.in \
+OnShellHProduction.in \
+OnShellWProduction.in \
+OnShellZProduction.in \
 OnShellTopProduction.in \
 Powheg-DefaultShower.in \
 Powheg-DipoleShower.in \
 Powheg.in \
 PPCollider.in \
 PQCDLevel.in \
 VBFNLO.in \
 VBFNLOPhasespace.in \
 VBFDiagramsOnly.in \
 MMHT2014.in \
 MCatNLO-Default-HardAlphaSTune.in \
 MCatNLO-Default-ShowerAlphaSTune.in \
 Powheg-Default-HardAlphaSTune.in \
 Powheg-Default-ShowerAlphaSTune.in \
 MCatNLO-Dipole-HardAlphaSTune.in \
 MCatNLO-Dipole-ShowerAlphaSTune.in
 
 dist_Matchbox_DATA = $(INPUTFILES)
 
 CLEANFILES = done-all-links
 
 done-all-links: $(INPUTFILES)
 	@echo "Linking input files"
 	@for i in $(INPUTFILES); do \
 	if test -f $(srcdir)/$$i -a ! -e $$i; then \
 	$(LN_S) -f $(srcdir)/$$i; fi; done
 	@touch done-all-links
diff --git a/src/Matchbox/OnShellEWProduction.in b/src/Matchbox/OnShellHProduction.in
rename from src/Matchbox/OnShellEWProduction.in
rename to src/Matchbox/OnShellHProduction.in
--- a/src/Matchbox/OnShellEWProduction.in
+++ b/src/Matchbox/OnShellHProduction.in
@@ -1,8 +1,5 @@
 # -*- ThePEG-repository -*-
 
 cd /Herwig/Particles
 
-set W+:HardProcessWidth 0*GeV
-set W-:HardProcessWidth 0*GeV
-set Z0:HardProcessWidth 0*GeV
 set h0:HardProcessWidth 0*GeV
diff --git a/src/Matchbox/OnShellEWProduction.in b/src/Matchbox/OnShellWProduction.in
copy from src/Matchbox/OnShellEWProduction.in
copy to src/Matchbox/OnShellWProduction.in
--- a/src/Matchbox/OnShellEWProduction.in
+++ b/src/Matchbox/OnShellWProduction.in
@@ -1,8 +1,6 @@
 # -*- ThePEG-repository -*-
 
 cd /Herwig/Particles
 
 set W+:HardProcessWidth 0*GeV
 set W-:HardProcessWidth 0*GeV
-set Z0:HardProcessWidth 0*GeV
-set h0:HardProcessWidth 0*GeV
diff --git a/src/Matchbox/OnShellEWProduction.in b/src/Matchbox/OnShellZProduction.in
copy from src/Matchbox/OnShellEWProduction.in
copy to src/Matchbox/OnShellZProduction.in
--- a/src/Matchbox/OnShellEWProduction.in
+++ b/src/Matchbox/OnShellZProduction.in
@@ -1,8 +1,5 @@
 # -*- ThePEG-repository -*-
 
 cd /Herwig/Particles
 
-set W+:HardProcessWidth 0*GeV
-set W-:HardProcessWidth 0*GeV
 set Z0:HardProcessWidth 0*GeV
-set h0:HardProcessWidth 0*GeV