diff --git a/src/helpers.py b/src/helpers.py
index 781a6e6cafe740432dc171616398bf2836bbefd2..299861df15c1c497e0a1d07c87739fb7547a7020 100644
--- a/src/helpers.py
+++ b/src/helpers.py
@@ -135,7 +135,10 @@ class TimeTracking(object):
 
 def prepare_host(create_new=True):
     hostname = socket.gethostname()
-    user = os.getlogin()
+    try:
+        user = os.getlogin()
+    except OSError:
+        user = "default"
     if hostname == 'ZAM144':
         path = f'/home/{user}/Data/toar_daily/'
     elif hostname == 'zam347':
@@ -150,10 +153,13 @@ def prepare_host(create_new=True):
         logging.error(f"unknown host '{hostname}'")
         raise OSError(f"unknown host '{hostname}'")
     if not os.path.exists(path):
-        if create_new:
-            check_path_and_create(path)
-            return path
-        else:
+        try:
+            if create_new:
+                check_path_and_create(path)
+                return path
+            else:
+                raise PermissionError
+        except PermissionError:
             logging.error(f"path '{path}' does not exist for host '{hostname}'.")
             raise NotADirectoryError(f"path '{path}' does not exist for host '{hostname}'.")
     else:
diff --git a/test/test_helpers.py b/test/test_helpers.py
index dfd0dffea0f50502bfdf7cf00af9f4a8c8d1b6c6..be4735ff6eb10a0b4c90603668bc60883b8dff82 100644
--- a/test/test_helpers.py
+++ b/test/test_helpers.py
@@ -171,7 +171,7 @@ class TestPrepareHost:
         mock_host.return_value = "linux-gzsx"
         with pytest.raises(NotADirectoryError) as e:
             prepare_host()
-        assert "path '/home/zombie21/machinelearningtools' does not exist for host 'linux-gzsx'" in e.value.args[0]
+        assert "does not exist for host 'linux-gzsx'" in e.value.args[0]
 
 
 class TestSetExperimentName: