diff --git a/report_parser/report_parser.py b/report_parser/report_parser.py
index e33435f..95af3f2 100644
--- a/report_parser/report_parser.py
+++ b/report_parser/report_parser.py
@@ -32,6 +32,7 @@
 import sys
 import json
 import argparse
+import xmltodict
 from pprint import pprint
 
 try:
@@ -47,6 +48,18 @@
         convert_git_ref_path, xml_read
 
 
+def xml_read(file):
+    """" Read the contects of an xml file and convert it to python object """
+
+    data = None
+    try:
+        with open(file, "r") as F:
+            data = xmltodict.parse(F.read())
+    except Exception as E:
+        print("Error", E)
+    return data
+
+
 def split_keys(joint_arg, sep="="):
     """ Split two keys spread by a separator, and return them as a tuple
     with whitespace removed """
diff --git a/tfm_ci_pylib/tfm_build_manager.py b/tfm_ci_pylib/tfm_build_manager.py
index 8eac0a4..4ce848a 100644
--- a/tfm_ci_pylib/tfm_build_manager.py
+++ b/tfm_ci_pylib/tfm_build_manager.py
@@ -194,7 +194,7 @@
                 # Merge the two dictionaries since the template may contain
                 # fixed and combinations seed parameters
                 cmd0 = build_cfg["config_template"] % \
-                    {**dict(i._asdict()), **build_cfg}
+                    dict(dict(i._asdict()), **build_cfg)
 
                 # Prepend configuration commoand as the first cmd
                 build_cfg["build_cmds"] = [cmd0] + build_cfg["build_cmds"]
@@ -466,7 +466,7 @@
                     static_config)
 
                 # Append the configuration to the existing ones
-                rejection_cfg = {**rejection_cfg, **rj_cfg}
+                rejection_cfg = dict(rejection_cfg, **rj_cfg)
 
             # Notfy the user for the rejected configuations
             for i in rejection_cfg.keys():
diff --git a/tfm_ci_pylib/utils.py b/tfm_ci_pylib/utils.py
index 2096b8b..5df108a 100755
--- a/tfm_ci_pylib/utils.py
+++ b/tfm_ci_pylib/utils.py
@@ -29,7 +29,6 @@
 import argparse
 import json
 import itertools
-import xmltodict
 from shutil import move
 from collections import OrderedDict, namedtuple
 from subprocess import Popen, PIPE, STDOUT, check_output
@@ -532,18 +531,6 @@
     return dir_path
 
 
-def xml_read(file):
-    """" Read the contects of an xml file and convert it to python object """
-
-    data = None
-    try:
-        with open(file, "r") as F:
-            data = xmltodict.parse(F.read())
-    except Exception as E:
-        print("Error", E)
-    return data
-
-
 def list_filtered_tree(directory, rex_filter=None):
     ret = []
     for path, subdirs, files in os.walk(directory):
