diff --git a/workflow/Snakefile b/workflow/Snakefile
index 8ffa4235b6e9eb13ba59f145a60ed7d084bd51a9..15faefd5dd63c820d3300b24f196d9a8b40020b8 100644
--- a/workflow/Snakefile
+++ b/workflow/Snakefile
@@ -38,14 +38,17 @@ if missing:
     logger.error(err_msg)
     raise ValueError(err_msg)
 # Check if optional field available
-if 'optional' not in config or type(config['optional']) not in [OrderedDict, dict]:
-    logger.info(f'No "optional" field found or no valid configuration.')
+if 'optional' not in config:
+    logger.info(f'No "optional" section found, adding dictionary "optional" to configuration.')
     config['optional'] = {}
+if type(config['optional']) not in [OrderedDict, dict]:
+    logger.error(f'No valid section "optional" supplied. Got {config["optional"]}, type: {type(config["optional"])} but require dictionary.')
+    raise TypeError
 # Check optional fields and include in config if not present
 for optkey, value in template_config['optional'].items():
     if optkey not in config['optional']:
         config['optional'][optkey] = value
-        logger.info(f'Set default value for optional parameter "{optkey}" to : "{value}"')
+        logger.info(f'No value for optional parameter "{optkey}" found, set to default: "{value}"')
 
 
 # Parse YAML rule config file