diff --git a/salvus/compute.coffee b/salvus/compute.coffee
index 913e6b60af..79093c12e1 100644
--- a/salvus/compute.coffee
+++ b/salvus/compute.coffee
@@ -1241,7 +1241,7 @@ class ProjectClient extends EventEmitter
else
if status.state != 'running'
dbg("something went wrong and not running ?!")
- cb("not running")
+ cb("not running") # exact callback error is used in the UI
else
dbg("status includes info about address...")
address =
diff --git a/salvus/page/project_files.cjsx b/salvus/page/project_files.cjsx
index d519008300..8e3e5d04fa 100644
--- a/salvus/page/project_files.cjsx
+++ b/salvus/page/project_files.cjsx
@@ -1431,6 +1431,9 @@ ProjectFiles = rclass
e =
when 'not_a_dir'
e =
+ when 'not_running'
+ # This shouldn't happen, but due to maybe a slight race condition in the backend it can.
+ e =
when 'no_instance'
e =
else
diff --git a/salvus/page/project_store.coffee b/salvus/page/project_store.coffee
index 2345859434..50fbd29fdb 100644
--- a/salvus/page/project_store.coffee
+++ b/salvus/page/project_store.coffee
@@ -721,6 +721,8 @@ class ProjectStore extends Store
return {error:'no_dir'}
else if listing.indexOf('ot a directory') != -1
return {error:'not_a_dir'}
+ else if listing.indexOf('not running') != -1 # yes, no underscore.
+ return {error:'not_running'}
else
return {error:listing}
if not listing?