diff --git a/SOURCES/0001-xwayland-Don-t-spew-warnings-when-looking-for-X11-di.patch b/SOURCES/0001-xwayland-Don-t-spew-warnings-when-looking-for-X11-di.patch
index d5e0856..b1bcbbe 100644
--- a/SOURCES/0001-xwayland-Don-t-spew-warnings-when-looking-for-X11-di.patch
+++ b/SOURCES/0001-xwayland-Don-t-spew-warnings-when-looking-for-X11-di.patch
@@ -1,4 +1,4 @@
-From 1128c46af94e3928d5dc7fc77c44023faf01ab64 Mon Sep 17 00:00:00 2001
+From d366b2bc4e89ed5807f0221afc25e66cb3d289ed Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
 Date: Wed, 9 Dec 2020 11:23:37 +0100
 Subject: [PATCH 1/2] xwayland: Don't spew warnings when looking for X11
@@ -11,7 +11,7 @@ Instead report what display numbers were eventually found.
  1 file changed, 92 insertions(+), 31 deletions(-)
 
 diff --git a/src/wayland/meta-xwayland.c b/src/wayland/meta-xwayland.c
-index 15c85df697..699d5561c7 100644
+index 15c85df69..699d5561c 100644
 --- a/src/wayland/meta-xwayland.c
 +++ b/src/wayland/meta-xwayland.c
 @@ -146,9 +146,10 @@ meta_xwayland_is_xwayland_surface (MetaWaylandSurface *surface)
@@ -300,5 +300,5 @@ index 15c85df697..699d5561c7 100644
  }
  
 -- 
-2.28.0
+2.29.2
 
diff --git a/SOURCES/0002-xwayland-Make-sure-tmp-.X11-unix-exists.patch b/SOURCES/0002-xwayland-Make-sure-tmp-.X11-unix-exists.patch
index 720c4de..15d829c 100644
--- a/SOURCES/0002-xwayland-Make-sure-tmp-.X11-unix-exists.patch
+++ b/SOURCES/0002-xwayland-Make-sure-tmp-.X11-unix-exists.patch
@@ -1,4 +1,4 @@
-From 04202ca080b49f9e71ccf837854fa03c9e572d54 Mon Sep 17 00:00:00 2001
+From 56c2e4efdcef14531dcf752e89117d22a21ec8ad Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
 Date: Wed, 9 Dec 2020 15:18:29 +0100
 Subject: [PATCH 2/2] xwayland: Make sure /tmp/.X11-unix/ exists
@@ -8,14 +8,22 @@ likely start with an isolated and empty /tmp, meannig no /tmp/.X11-unix
 directory to add things to. To make it possible to still function in
 this kind of setup, make sure said directory exists.
 ---
- src/wayland/meta-xwayland.c | 29 +++++++++++++++++++++++++++--
- 1 file changed, 27 insertions(+), 2 deletions(-)
+ src/wayland/meta-xwayland.c | 30 ++++++++++++++++++++++++++++--
+ 1 file changed, 28 insertions(+), 2 deletions(-)
 
 diff --git a/src/wayland/meta-xwayland.c b/src/wayland/meta-xwayland.c
-index 699d5561c7..f6f1010b12 100644
+index 699d5561c..f3df9766e 100644
 --- a/src/wayland/meta-xwayland.c
 +++ b/src/wayland/meta-xwayland.c
-@@ -436,9 +436,27 @@ meta_xwayland_override_display_number (int number)
+@@ -30,6 +30,7 @@
+ #include <glib-unix.h>
+ #include <glib.h>
+ #include <sys/socket.h>
++#include <sys/stat.h>
+ #include <sys/un.h>
+ 
+ #include "compositor/meta-surface-actor-wayland.h"
+@@ -436,9 +437,27 @@ meta_xwayland_override_display_number (int number)
    display_number_override = number;
  }
  
@@ -43,12 +51,12 @@ index 699d5561c7..f6f1010b12 100644
    int display = 0;
    char *lock_file = NULL;
  
-@@ -447,10 +465,15 @@ choose_xdisplay (MetaXWaylandManager *manager)
+@@ -447,10 +466,15 @@ choose_xdisplay (MetaXWaylandManager *manager)
    else if (g_getenv ("RUNNING_UNDER_GDM"))
      display = 1024;
  
 -  do
-+  if (!ensure_x11_unix_dir (error))
++  if (!ensure_x11_unix_dir (&error))
      {
 -      g_autoptr (GError) error = NULL;
 +      g_warning ("Failed to ensure X11 socket directory: %s",
@@ -61,22 +69,22 @@ index 699d5561c7..f6f1010b12 100644
        lock_file = create_lock_file (display, &display, &error);
        if (!lock_file)
          {
-@@ -466,6 +489,7 @@ choose_xdisplay (MetaXWaylandManager *manager)
+@@ -466,6 +490,7 @@ choose_xdisplay (MetaXWaylandManager *manager)
            if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_ADDRESS_IN_USE))
              {
                meta_verbose ("Failed to bind abstract socket: %s\n", error->message);
-+              g_clear_error (error);
++              g_clear_error (&error);
                display++;
                continue;
              }
-@@ -480,6 +504,7 @@ choose_xdisplay (MetaXWaylandManager *manager)
+@@ -480,6 +505,7 @@ choose_xdisplay (MetaXWaylandManager *manager)
        if (manager->unix_fd < 0)
          {
            meta_verbose ("Failed to bind unix socket: %s\n", error->message);
-+          g_clear_error (error);
++          g_clear_error (&error);
            unlink (lock_file);
            close (manager->abstract_fd);
            display++;
 -- 
-2.28.0
+2.29.2
 
diff --git a/SPECS/mutter.spec b/SPECS/mutter.spec
index b631c48..d74c2b8 100644
--- a/SPECS/mutter.spec
+++ b/SPECS/mutter.spec
@@ -8,7 +8,7 @@
 
 Name:          mutter
 Version:       3.32.2
-Release:       53%{?dist}
+Release:       54%{?dist}
 Summary:       Window and compositing manager based on Clutter
 
 License:       GPLv2+
@@ -313,6 +313,10 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop
 %{_datadir}/mutter-%{mutter_api_version}/tests
 
 %changelog
+* Tue Jan 12 2021 Jonas Ådahl <jadahl@redhat.com> - 3.32.2-54
+- Fix polyinstantiation patch backport
+  Resolves: #1861769
+
 * Thu Dec 17 2020 Jonas Ådahl <jadahl@redhat.com> - 3.32.2-53
 - Fix test case backport
   Related: #1786496