diff --git a/gstreamer1-plugins-good-gcc11.patch b/gstreamer1-plugins-good-gcc11.patch
new file mode 100644
index 0000000..666cfa0
--- /dev/null
+++ b/gstreamer1-plugins-good-gcc11.patch
@@ -0,0 +1,74 @@
+diff --git a/gst-plugins-good-1.18.0/ext/qt/gstqsgtexture.cc b/gst-plugins-good-1.18.0/ext/qt/gstqsgtexture.cc
+index a05d26e..bfa79cd 100644
+--- a/gst-plugins-good-1.18.0/ext/qt/gstqsgtexture.cc
++++ b/gst-plugins-good-1.18.0/ext/qt/gstqsgtexture.cc
+@@ -35,7 +35,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+ 
+ GstQSGTexture::GstQSGTexture ()
+ {
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   initializeOpenGLFunctions();
+ 
+diff --git a/gst-plugins-good-1.18.0/ext/qt/gstqtglutility.cc b/gst-plugins-good-1.18.0/ext/qt/gstqtglutility.cc
+index acb89b6..657bfda 100644
+--- a/gst-plugins-good-1.18.0/ext/qt/gstqtglutility.cc
++++ b/gst-plugins-good-1.18.0/ext/qt/gstqtglutility.cc
+@@ -66,7 +66,7 @@ gst_qt_get_gl_display ()
+ {
+   GstGLDisplay *display = NULL;
+   QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ());
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   g_assert (app != NULL);
+ 
+diff --git a/gst-plugins-good-1.18.0/ext/qt/qtglrenderer.cc b/gst-plugins-good-1.18.0/ext/qt/qtglrenderer.cc
+index 2ad5601..576171c 100644
+--- a/gst-plugins-good-1.18.0/ext/qt/qtglrenderer.cc
++++ b/gst-plugins-good-1.18.0/ext/qt/qtglrenderer.cc
+@@ -22,7 +22,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+ static void
+ init_debug (void)
+ {
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   if (g_once_init_enter (&_debug)) {
+     GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglrenderer", 0,
+diff --git a/gst-plugins-good-1.18.0/ext/qt/qtitem.cc b/gst-plugins-good-1.18.0/ext/qt/qtitem.cc
+index 49dafc8..caa1ab5 100644
+--- a/gst-plugins-good-1.18.0/ext/qt/qtitem.cc
++++ b/gst-plugins-good-1.18.0/ext/qt/qtitem.cc
+@@ -102,7 +102,7 @@ void InitializeSceneGraph::run()
+ 
+ QtGLVideoItem::QtGLVideoItem()
+ {
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   if (g_once_init_enter (&_debug)) {
+     GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglwidget", 0, "Qt GL Widget");
+diff --git a/gst-plugins-good-1.18.0/ext/qt/qtwindow.cc b/gst-plugins-good-1.18.0/ext/qt/qtwindow.cc
+index 9360c33..55a13ab 100644
+--- a/gst-plugins-good-1.18.0/ext/qt/qtwindow.cc
++++ b/gst-plugins-good-1.18.0/ext/qt/qtwindow.cc
+@@ -103,7 +103,7 @@ QtGLWindow::QtGLWindow ( QWindow * parent, QQuickWindow *src ) :
+   QQuickWindow( parent ), source (src)
+ {
+   QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ());
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   g_assert (app != NULL);
+ 
+@@ -152,7 +152,7 @@ QtGLWindow::beforeRendering()
+ 
+   g_mutex_lock (&this->priv->lock);
+ 
+-  static volatile gsize once = 0;
++  static gsize once = 0;
+   if (g_once_init_enter(&once)) {
+     this->priv->start = QDateTime::currentDateTime().toMSecsSinceEpoch();
+     g_once_init_leave(&once,1);
diff --git a/gstreamer1-plugins-good.spec b/gstreamer1-plugins-good.spec
index 6fa860f..9fe669f 100644
--- a/gstreamer1-plugins-good.spec
+++ b/gstreamer1-plugins-good.spec
@@ -15,7 +15,7 @@
 
 Name:           gstreamer1-plugins-good
 Version:        1.18.0
-Release:        1%{?gitcommit:.git%{shortcommit}}%{?dist}
+Release:        2%{?gitcommit:.git%{shortcommit}}%{?dist}
 Summary:        GStreamer plugins with good code and licensing
 
 License:        LGPLv2+
@@ -28,6 +28,7 @@ Source0:        gst-plugins-good-%{version}.tar.xz
 %else
 Source0:        http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-%{version}.tar.xz
 %endif
+Patch0:         %{name}-gcc11.patch
 
 # Register as an AppStream component to be visible in the software center
 # NOTE: It would be *awesome* if this file was maintained by the upstream
@@ -160,6 +161,7 @@ to be installed.
 
 %prep
 %setup -q -n gst-plugins-good-%{version}
+%patch0 -p2
 
 %build
 %meson \
@@ -292,6 +294,9 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
 
 
 %changelog
+* Wed Oct 28 2020 Jeff Law <law@redhat.com> - 1.18.0-2
+- Fix bogus use of volatile diagnosed by gcc-11
+
 * Tue Sep 8 2020 Wim Taymans <wtaymans@redhat.com> - 1.18.0-1
 - Update to 1.18.0