diff --git a/subprojects/gst-plugins-bad/sys/d3d11/gstd3d11convert.cpp b/subprojects/gst-plugins-bad/sys/d3d11/gstd3d11convert.cpp
index 5f42676c95..1adabaeb36 100644
--- a/subprojects/gst-plugins-bad/sys/d3d11/gstd3d11convert.cpp
+++ b/subprojects/gst-plugins-bad/sys/d3d11/gstd3d11convert.cpp
@@ -1618,10 +1618,15 @@ gst_d3d11_base_convert_setup_msaa_texture (GstD3D11BaseConvert * self,
     return;
   }
 
-  if (device_format.dxgi_format != DXGI_FORMAT_UNKNOWN)
+  if (device_format.dxgi_format == DXGI_FORMAT_UNKNOWN ||
+      (device_format.format_support[0] &
+          D3D11_FORMAT_SUPPORT_RENDER_TARGET) == 0) {
+    GST_DEBUG_OBJECT (self,
+        "MSAA supported only for native and RTV available formats");;
+    return;
+  } else {
     dxgi_format = device_format.dxgi_format;
-  else
-    dxgi_format = device_format.resource_format[0];
+  }
 
   device_handle = gst_d3d11_device_get_device_handle (device);
   while (sample_count > 1) {