diff --git a/CMakeLists.txt b/CMakeLists.txt
index 22592da..a9405ca 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,201 +1,207 @@
 cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
 
 set(CMAKE_LEGACY_CYGWIN_WIN32 0)
 set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
 
 project("Reversed HEJ" VERSION 0.0.1 LANGUAGES C CXX)
 
 ## Flags for the compiler. No warning allowed.
 if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")
 elseif (MSVC)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4 /WX /EHsc")
 endif()
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 set(CMAKE_CXX_STANDARD 14)
 
 ## Create Version
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
 
 
 # Get the latest abbreviated commit hash of the working branch
 execute_process(
   COMMAND git rev-parse HEAD
   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
   OUTPUT_VARIABLE PROJECT_GIT_REVISION
   OUTPUT_STRIP_TRAILING_WHITESPACE
 )
 # Get the current working branch
 execute_process(
   COMMAND git rev-parse --abbrev-ref HEAD
   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
   OUTPUT_VARIABLE PROJECT_GIT_BRANCH
   OUTPUT_STRIP_TRAILING_WHITESPACE
   )
 
 set(INSTALL_INCLUDE_DIR "include/RHEJ/")
 set(INSTALL_BIN_DIR "bin/")
 set(INSTALL_LIB_DIR "lib/")
 
 
 CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Templates/Version.hh.in
                 ${PROJECT_BINARY_DIR}/include/RHEJ/Version.hh  @ONLY )
 
 configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Templates/rHEJ-config.cc.in
                 ${PROJECT_BINARY_DIR}/src/bin/rHEJ-config.cc  @ONLY )
 
 
 ## Add directories and find dependences
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${PROJECT_BINARY_DIR}/include)
 
 find_package(fastjet REQUIRED)
 include_directories(${fastjet_INCLUDE_PATH})
 find_package(clhep 2.3 REQUIRED)
 include_directories(${clhep_INCLUDE_PATH})
 find_package(lhapdf REQUIRED)
 include_directories(${lhapdf_INCLUDE_PATH})
 find_package(gsl REQUIRED)
 include_directories(${gsl_INCLUDE_PATH})
 find_package(Boost REQUIRED COMPONENTS iostreams)
 include_directories(${Boost_INCLUDE_DIRS})
 find_package(yaml-cpp)
 include_directories(${YAML_CPP_INCLUDE_DIR})
 find_package(HepMC 2)
 if(${HepMC_FOUND})
   message (STATUS "HepMC installation found: ${HepMC_INCLUDE_DIRS}")
   set(
     CMAKE_CXX_FLAGS
     "${CMAKE_CXX_FLAGS} -DRHEJ_BUILD_WITH_HepMC_VERSION=${HepMC_VERSION_MAJOR}"
     )
   include_directories(${HepMC_INCLUDE_DIRS})
   find_package(rivet)
   if(${rivet_FOUND})
     include_directories(${rivet_INCLUDE_PATH})
   set(
     CMAKE_CXX_FLAGS
     "${CMAKE_CXX_FLAGS} -DRHEJ_BUILD_WITH_RIVET"
     )
   endif()
 endif()
 find_package(QCDloop 2)
 if(${QCDloop_FOUND})
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DRHEJ_BUILD_WITH_QCDLOOP")
   include_directories(SYSTEM ${QCDloop_INCLUDE_DIRS})
 endif()
 
 add_subdirectory(src)
 
 ## define executable
 add_executable(rHEJ src/bin/rHEJ.cc)
 
 ## link libraries
 target_link_libraries(rHEJ rhej)
 
 add_executable(rHEJ-config src/bin/rHEJ-config.cc)
 
 file(GLOB rhej_headers ${CMAKE_CURRENT_SOURCE_DIR}/include/RHEJ/*.hh ${PROJECT_BINARY_DIR}/include/RHEJ/*.hh)
 file(GLOB lhef_headers ${CMAKE_CURRENT_SOURCE_DIR}/include/LHEF/*.h)
 install(FILES ${rhej_headers} DESTINATION ${INSTALL_INCLUDE_DIR})
 install(FILES ${lhef_headers} DESTINATION include/LHEF/)
 install(TARGETS rHEJ rHEJ-config DESTINATION ${INSTALL_BIN_DIR})
 
 enable_testing()
 set(tst_dir "${CMAKE_CURRENT_SOURCE_DIR}/t")
 add_executable(test_Matrix ${tst_dir}/test_Matrix.cc)
 add_executable(test_classify ${tst_dir}/test_classify.cc)
 add_executable(test_psp ${tst_dir}/test_psp.cc)
 add_executable(test_ME_h_3j ${tst_dir}/test_ME_h_3j.cc)
 add_executable(test_ME_hjets_mt174 ${tst_dir}/test_ME_hjets_mt174.cc)
 add_executable(check_res ${tst_dir}/check_res.cc)
 add_executable(check_lhe ${tst_dir}/check_lhe.cc)
 add_library(scales SHARED ${tst_dir}/scales.cc)
 add_executable(test_scale_import ${tst_dir}/test_scale_import)
+add_executable(test_scale_names ${tst_dir}/test_scale_names)
 target_link_libraries(test_Matrix rhej)
 target_link_libraries(test_classify rhej)
 target_link_libraries(test_psp rhej)
 target_link_libraries(test_ME_h_3j rhej)
 target_link_libraries(test_ME_hjets_mt174 rhej)
 target_link_libraries(check_res rhej)
 target_link_libraries(check_lhe rhej)
 target_link_libraries(test_scale_import rhej)
+target_link_libraries(test_scale_names rhej)
 
 add_test(
   NAME t_matrix
   COMMAND test_Matrix
   )
 add_test(
   NAME t_classify
   COMMAND test_classify ${tst_dir}/classify.lhe.gz
   )
 add_test(
   NAME t_psp
   COMMAND test_psp ${tst_dir}/psp_gen.lhe.gz
   )
 add_test(
   NAME t_ME
   COMMAND test_ME_h_3j
   )
 if(${QCDloop_FOUND})
   add_test(
     NAME t_ME_mt174
     COMMAND test_ME_hjets_mt174
     )
 endif()
 add_test(
   NAME t_2j
   COMMAND check_res ${tst_dir}/2j.lhe.gz 3.382e7 752159
   )
 add_test(
   NAME t_3j
   COMMAND check_res ${tst_dir}/3j.lhe.gz  2.5019e+06 97075
   )
 add_test(
   NAME t_4j
   COMMAND check_res ${tst_dir}/4j.lhe.gz  479170 19203.9
   )
 add_test(
   NAME t_h_3j
   COMMAND check_res ${tst_dir}/h_3j.lhe.gz 0.793107 0.0479054
   )
 add_test(
   NAME t_h_3j_uno
   COMMAND check_res ${tst_dir}/h_3j_uno.lhe.gz 0.0260428 0.00129855 uno
   )
 if(${HepMC_FOUND})
   file(READ "${tst_dir}/jet_config.yml" config)
   file(WRITE "${tst_dir}/jet_config_withHepMC.yml" "${config}  - tst.hepmc")
   if(${rivet_FOUND})
     file(READ "${tst_dir}/jet_config_withHepMC.yml" config)
     file(WRITE "${tst_dir}/jet_config_withRivet.yml" "${config}\n\nanalysis:\n  rivet: MC_XS\n  output: tst")
     add_test(
       NAME t_main
       COMMAND rHEJ  ${tst_dir}/jet_config_withRivet.yml ${tst_dir}/2j.lhe.gz
       )
   else()
     add_test(
       NAME t_main
       COMMAND rHEJ  ${tst_dir}/jet_config_withHepMC.yml ${tst_dir}/2j.lhe.gz
       )
   endif()
   if(${HepMC_VERSION_MAJOR} GREATER 2)
     add_executable(check_hepmc ${tst_dir}/check_hepmc.cc)
     target_link_libraries(check_hepmc rhej)
     add_test(
       NAME t_hepmc
       COMMAND check_hepmc tst.hepmc
       )
   endif()
 else()
   add_test(
     NAME t_main
     COMMAND rHEJ  ${tst_dir}/jet_config.yml ${tst_dir}/2j.lhe.gz
     )
 endif()
 add_test(
   NAME t_lhe
   COMMAND check_lhe tst.lhe
   )
 add_test(
   NAME t_scale_import
   COMMAND test_scale_import ${tst_dir}/jet_config_with_import.yml
   )
+add_test(
+  NAME t_scale_names
+  COMMAND test_scale_names
+  )
diff --git a/t/test_scale_names.cc b/t/test_scale_names.cc
new file mode 100644
index 0000000..29ccb0c
--- /dev/null
+++ b/t/test_scale_names.cc
@@ -0,0 +1,42 @@
+#include <iostream>
+#include <cstddef>
+
+#include "RHEJ/ScaleFunction.hh"
+#include "RHEJ/EventReweighter.hh"
+
+#define ASSERT(x) if(!(x)) { \
+    std::cerr << "Assertion '" #x "' failed.\n"; \
+    return EXIT_FAILURE; \
+  }
+
+int main() {
+  constexpr double mu = 125.;
+  RHEJ::ScaleFunction fun{"125", RHEJ::FixedScale{mu}};
+  ASSERT(fun.name() == "125");
+
+  RHEJ::ScaleGenerator scale_gen{
+    {std::move(fun)}, {0.5, 1, 2.}, 2.1
+  };
+  RHEJ::UnclusteredEvent tmp;
+  tmp.outgoing.push_back(
+      {RHEJ::ParticleID::gluon, fastjet::PtYPhiM(50., -1., 0.3, 0.)}
+  );
+  tmp.outgoing.push_back(
+      {RHEJ::ParticleID::gluon, fastjet::PtYPhiM(30., 1., -0.3, 0.)}
+  );
+  RHEJ::Event ev{
+    std::move(tmp),
+    fastjet::JetDefinition{fastjet::kt_algorithm, 0.4},
+    20.
+  };
+
+  auto rescaled = scale_gen(std::move(ev));
+  ASSERT(*rescaled.central().description == "mur=125, muf=125");
+  ASSERT(*rescaled.variations(0).description == "mur=125, muf=125");
+  ASSERT(*rescaled.variations(1).description == "mur=0.5*125, muf=0.5*125");
+  ASSERT(*rescaled.variations(2).description == "mur=0.5*125, muf=1*125");
+  ASSERT(*rescaled.variations(3).description == "mur=1*125, muf=0.5*125");
+  ASSERT(*rescaled.variations(4).description == "mur=1*125, muf=2*125");
+  ASSERT(*rescaled.variations(5).description == "mur=2*125, muf=1*125");
+  ASSERT(*rescaled.variations(6).description == "mur=2*125, muf=2*125");
+}