diff --git a/model_server/base/validators.py b/model_server/base/validators.py
index 64f010734bdc9e3218b223adf8c0cea147293fb3..f1a092e9f5c65105953c22da716291b359f0f402 100644
--- a/model_server/base/validators.py
+++ b/model_server/base/validators.py
@@ -4,7 +4,7 @@ from .session import session
 
 def validate_workflow_inputs(model_ids, inpaths):
     for mid in model_ids:
-        if mid not in session.describe_loaded_models().keys():
+        if mid and mid not in session.describe_loaded_models().keys():
             raise HTTPException(
                 status_code=409,
                 detail=f'Model {mid} has not been loaded'
diff --git a/model_server/extensions/ilastik/workflows.py b/model_server/extensions/ilastik/workflows.py
index f977ffc9c9173b9f0588d68bace008db74dc7bab..f096cba13523deb5e1baecefda5f5ebd9abbb16e 100644
--- a/model_server/extensions/ilastik/workflows.py
+++ b/model_server/extensions/ilastik/workflows.py
@@ -2,7 +2,7 @@
 Implementation of image analysis work behind API endpoints, without knowledge of persistent data in server session.
 """
 from pathlib import Path
-from typing import Dict
+from typing import Dict, Union
 
 from pydantic import BaseModel
 
@@ -12,7 +12,7 @@ from ...base.workflows import Timer
 
 class WorkflowRunRecord(BaseModel):
     pixel_model_id: str
-    object_model_id: str
+    object_model_id: Union[str, None] = None
     input_filepath: str
     pixel_map_filepath: str
     object_map_filepath: str
diff --git a/model_server/scripts/run_server.py b/model_server/scripts/run_server.py
index 07236bd9555eb4051e1db7a9f2953c7054efec62..b4720cc6b61819c05d13097c5f43af6b7fe132be 100644
--- a/model_server/scripts/run_server.py
+++ b/model_server/scripts/run_server.py
@@ -6,7 +6,7 @@ from urllib3 import Retry
 import uvicorn
 import webbrowser
 
-from conf.defaults import server_conf
+from ..conf.defaults import server_conf
 
 def parse_args():
     parser = argparse.ArgumentParser(