diff --git a/src/client/widgets/sky/sky.c b/src/client/widgets/sky/sky.c
index c07c2e4bc22f465108ee92de9180bcb4354caf9f..a7abaa6bae40db9fb6a5d3add9ce69985253d05d 100644
--- a/src/client/widgets/sky/sky.c
+++ b/src/client/widgets/sky/sky.c
@@ -437,6 +437,24 @@ static int sky_load_config(Sky *p)
 
 	/* search relative path first */
 	ret = sky_load_config_from_prefix(p, "data/", &error);
+
+	if (ret) {
+		g_clear_error(&error);
+		/* try again in confdir */
+		prefix = g_strconcat(CONFDIR, "/data/", NULL);
+		ret = sky_load_config_from_prefix(p, prefix, &error);
+		g_free(prefix);
+	}
+
+
+	if (ret) {
+		g_clear_error(&error);
+		/* try again in confdir */
+		prefix = g_strconcat("etc/", CONFDIR, "/data/", NULL);
+		ret = sky_load_config_from_prefix(p, prefix, &error);
+		g_free(prefix);
+	}
+
 	if (ret) {
 		g_clear_error(&error);
 		/* try again in sysconfdir */
@@ -445,10 +463,11 @@ static int sky_load_config(Sky *p)
 		g_free(prefix);
 	}
 
+
 	if (ret) {
 		g_warning("Could not find sky_objects.cfg: %s. "
-			  "Looked in data/, %sdata and %s/%sdata",
-			  error->message, CONFDIR, SYSCONFDIR, CONFDIR);
+			  "Looked in data/, %sdata, etc/%d/data/ and %s/%sdata",
+			  error->message, CONFDIR, CONFDIR, SYSCONFDIR, CONFDIR);
 		g_clear_error(&error);
 
 		return -1;
diff --git a/src/server/backends/SIM/rt_sim.c b/src/server/backends/SIM/rt_sim.c
index a8013c407552e655577df8ceb07c2e74eff8108e..d5f5e3709698f2cf0f6c809f448bcdc6d578d165 100644
--- a/src/server/backends/SIM/rt_sim.c
+++ b/src/server/backends/SIM/rt_sim.c
@@ -299,6 +299,14 @@ int sim_load_config(void)
 		g_free(prefix);
 	}
 
+	if (ret) {
+		g_clear_error(&error);
+		/* try again in confdir */
+		prefix = g_strconcat("etc/", CONFDIR, "/", NULL);
+		ret = sim_load_config_from_prefix(prefix, &error);
+		g_free(prefix);
+	}
+
 	if (ret) {
 		g_clear_error(&error);
 		/* try again in sysconfdir */