diff --git a/pressure-vessel/wrap.c b/pressure-vessel/wrap.c
index c78e454b2e380ef32aa8865a8eb1335747664a03..c107efb3c14585429a2eeff5627901331b555fcc 100644
--- a/pressure-vessel/wrap.c
+++ b/pressure-vessel/wrap.c
@@ -1868,8 +1868,6 @@ main (int argc,
 
   if (adjusted_ld_preload->len != 0)
     flatpak_bwrap_set_env (bwrap, "LD_PRELOAD", adjusted_ld_preload->str, TRUE);
-  else
-    g_hash_table_add (extra_locked_vars_to_unset, g_strdup ("LD_PRELOAD"));
 
   g_debug ("Making Steam environment variables available if required...");
   for (i = 0; i < G_N_ELEMENTS (known_required_env); i++)
@@ -1995,6 +1993,11 @@ main (int argc,
 
       g_assert (equals != NULL);
 
+      /* Never lock LD_PRELOAD, otherwise, for example, we might miss the
+       * overlay renderer library that the Steam client adds to LD_PRELOAD */
+      if (g_str_has_prefix (bwrap->envp[i], "LD_PRELOAD="))
+        continue;
+
       *equals = '\0';
 
       g_string_append (lock_env, bwrap->envp[i]);