diff --git a/pressure-vessel/runtime.c b/pressure-vessel/runtime.c
index 925d96ea3b99f4e1c8032531f898b7551750e96f..5c0322f1cf36d736a6a0eca7bd7e299264fbbce8 100644
--- a/pressure-vessel/runtime.c
+++ b/pressure-vessel/runtime.c
@@ -887,11 +887,17 @@ pv_runtime_initable_init (GInitable *initable,
     {
       /* We currently only need a temporary directory if we don't have
        * a mutable sysroot to work with. */
-      self->tmpdir = g_dir_make_tmp ("pressure-vessel-wrap.XXXXXX", error);
+      g_autofree gchar *tmpdir = g_dir_make_tmp ("pressure-vessel-wrap.XXXXXX",
+                                                 error);
 
-      if (self->tmpdir == NULL)
+      if (tmpdir == NULL)
         return FALSE;
 
+      self->tmpdir = realpath (tmpdir, NULL);
+
+      if (self->tmpdir == NULL)
+        return glnx_throw_errno_prefix (error, "realpath(\"%s\")", tmpdir);
+
       self->overrides = g_build_filename (self->tmpdir, "overrides", NULL);
       self->overrides_in_container = "/overrides";
       self->runtime_files = self->source_files;