diff --git a/cfel_fabio.py b/cfel_fabio.py
index 7edc689eab8b36da91ad536a790858df059a0d9b..98c3373c1c817c064ce4f99de8a4e0f6e89d5522 100644
--- a/cfel_fabio.py
+++ b/cfel_fabio.py
@@ -51,24 +51,24 @@ def read_cbf_from_stream(stream):
 
     infile = stream
     cbf_obj._readheader(infile)
-    if fabio.cbfimage.CIF_BINARY_BLOCK_KEY not in cbf_obj.cif:
-        err = "Not key %s in CIF, no CBF image in stream" % fabio.cbfimage.CIF_BINARY_BLOCK_KEY
+    if cbf_obj.CIF_BINARY_BLOCK_KEY not in cbf_obj.cif:
+        err = "Not key %s in CIF, no CBF image in stream" % fabio.cbfobj.CIF_BINARY_BLOCK_KEY
         logger.error(err)
         for kv in cbf_obj.cif.items():
             print("%s: %s" % kv)
         raise RuntimeError(err)
-    if cbf_obj.cif[fabio.cbfimage.CIF_BINARY_BLOCK_KEY] == "CIF Binary Section":
-        cbf_obj.cbs += infile.read(len(fabio.cbfimage.STARTER) + int(cbf_obj.header["X-Binary-Size"])
+    if cbf_obj.cif[cbf_obj.CIF_BINARY_BLOCK_KEY] == "CIF Binary Section":
+        cbf_obj.cbs += infile.read(len(cbf_obj.STARTER) + int(cbf_obj.header["X-Binary-Size"])
                                    - len(cbf_obj.cbs) + cbf_obj.start_binary)
     else:
-        if len(cbf_obj.cif[fabio.cbfimage.CIF_BINARY_BLOCK_KEY]) > int(
-                cbf_obj.header["X-Binary-Size"]) + cbf_obj.start_binary + len(fabio.cbfimage.STARTER):
-            cbf_obj.cbs = cbf_obj.cif[fabio.cbfimage.CIF_BINARY_BLOCK_KEY][:int(cbf_obj.header["X-Binary-Size"]) +
-                                                                           cbf_obj.start_binary +
-                                                                           len(fabio.cbfimage.STARTER)]
+        if len(cbf_obj.cif[cbf_obj.CIF_BINARY_BLOCK_KEY]) > int(
+                cbf_obj.header["X-Binary-Size"]) + cbf_obj.start_binary + len(cbf_obj.STARTER):
+            cbf_obj.cbs = cbf_obj.cif[cbf_obj.CIF_BINARY_BLOCK_KEY][:int(cbf_obj.header["X-Binary-Size"]) +
+                                                                         cbf_obj.start_binary +
+                                                                         len(cbf_obj.STARTER)]
         else:
-            cbf_obj.cbs = cbf_obj.cif[fabio.cbfimage.CIF_BINARY_BLOCK_KEY]
-    binary_data = cbf_obj.cbs[cbf_obj.start_binary + len(fabio.cbfimage.STARTER):]
+            cbf_obj.cbs = cbf_obj.cif[cbf_obj.CIF_BINARY_BLOCK_KEY]
+    binary_data = cbf_obj.cbs[cbf_obj.start_binary + len(cbf_obj.STARTER):]
 
     if "Content-MD5" in cbf_obj.header:
         ref = numpy.string_(cbf_obj.header["Content-MD5"])
diff --git a/cfel_optarg.py b/cfel_optarg.py
index a06978f759a6af6a5cc2879919d641fd283f623b..218980fecbd9a5afc5e6d923bd17482f36e4de2d 100644
--- a/cfel_optarg.py
+++ b/cfel_optarg.py
@@ -12,14 +12,6 @@
 #
 #    You should have received a copy of the GNU General Public License
 #    along with cfelpyutils.  If not, see <http://www.gnu.org/licenses/>.
-
-
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-
-
 """
 Utilities for parsing command line options and configuration files.
 
@@ -27,6 +19,10 @@ This module contains utilities for parsing of command line options and
 configuration files.
 """
 
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
 
 import ast
 
@@ -76,6 +72,11 @@ def parse_parameters(config):
             monitor_params[sect][op] = config.get(sect, op)
             if monitor_params[sect][op].startswith("'") and monitor_params[sect][op].endswith("'"):
                 monitor_params[sect][op] = monitor_params[sect][op][1:-1]
+                try:
+                    monitor_params[sect][op].encode('ascii')
+                except UnicodeEncodeError:
+                        raise RuntimeError('Error parsing parameters. Only ASCII characters are allowed in parameter '
+                                           'names and values.')
                 continue
             if monitor_params[sect][op].startswith('"') and monitor_params[sect][op].endswith('"'):
                 monitor_params[sect][op] = monitor_params[sect][op][1:-1]
@@ -115,6 +116,8 @@ def parse_parameters(config):
                     monitor_params[sect][op] = float(monitor_params[sect][op])
                     continue
                 except ValueError:
-                    pass
+                    raise RuntimeError('Error parsing parameters. The parameter {0}/{1} parameter has an invalid type. '
+                                       'Allowed types are None, int, float, bool and str. Strings must be '
+                                       'single-quoted.'.format(sect, op))
 
     return monitor_params