diff --git a/tests/test_webservice.py b/tests/test_webservice.py
index 30c3606cd79cf7896364b297eedc6c68d31161d0..0876ba2ca3eb76ee5627b412a581bebc984c8a5c 100644
--- a/tests/test_webservice.py
+++ b/tests/test_webservice.py
@@ -95,14 +95,14 @@ def test_parse_config():
               'other_empty_key': "''",
               'brian': 'scone'}
 
-    expected = ['whatever', '--somebool', '--alist', '1', '2', '3',
+    expected = ['whatever', '--somebool', '--no-notsomebool',
+                '--alist', '1', '2', '3',
                 '--some_empty_key', '', '--other_empty_key', '',
                 '--brian', 'scone']
 
     config = parse_config(cmd, config)
 
     assert config == expected
-    assert '--notsomebool' not in config
 
     with pytest.raises(ValueError):
         config = {'some key': 'value'}
diff --git a/webservice/webservice.py b/webservice/webservice.py
index 65b37bd79525feb1471247a7fdf26b727c345f11..05b4b59372c4073754da3e57db718c5ddc5a9b8e 100644
--- a/webservice/webservice.py
+++ b/webservice/webservice.py
@@ -333,8 +333,7 @@ def parse_config(cmd: List[str], config: Dict[str, Any]) -> List[str]:
             cmd.append(f"--{key}")
             cmd += [str(v) for v in value]
         elif isinstance(value, bool):
-            if value:
-                cmd += ["--{}".format(key)]
+            cmd.append(f"--{key}" if value else f"--no-{key}")
         else:
             if value in ['""', "''"]:
                 value = ""