diff --git a/testsuite/gsk/compare/scale-textures-negative.node b/testsuite/gsk/compare/scale-textures-negative.node
new file mode 100644
index 0000000000..fbf1d8205e
--- /dev/null
+++ b/testsuite/gsk/compare/scale-textures-negative.node
@@ -0,0 +1,48 @@
+transform {
+ transform: scale(1, 1);
+ child: opacity {
+ opacity: 0.6;
+ child: container {
+ texture {
+ bounds: 0 0 50 50;
+ texture: url("data:,");
+ }
+ }
+ }
+}
+transform {
+ transform: scale(1, -1);
+ child: opacity {
+ opacity: 0.6;
+ child: container {
+ texture {
+ bounds: 0 0 50 50;
+ texture: url("data:,");
+ }
+ }
+ }
+}
+transform {
+ transform: scale(-1, -1);
+ child: opacity {
+ opacity: 0.6;
+ child: container {
+ texture {
+ bounds: 0 0 50 50;
+ texture: url("data:,");
+ }
+ }
+ }
+}
+transform {
+ transform: scale(-1, 1);
+ child: opacity {
+ opacity: 0.6;
+ child: container {
+ texture {
+ bounds: 0 0 50 50;
+ texture: url("data:,");
+ }
+ }
+ }
+}
diff --git a/testsuite/gsk/compare/scale-textures-negative.png b/testsuite/gsk/compare/scale-textures-negative.png
new file mode 100644
index 0000000000..8624e6c403
Binary files /dev/null and b/testsuite/gsk/compare/scale-textures-negative.png differ
diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build
index 4bdfc8ceaf..1a20fe8223 100644
--- a/testsuite/gsk/meson.build
+++ b/testsuite/gsk/meson.build
@@ -69,6 +69,7 @@ compare_render_tests = [
'outset_shadow_rounded_top',
'outset_shadow_simple',
'scaled-cairo',
+ 'scale-textures-negative',
'scale-up-down',
'shadow-in-opacity',
'texture-url',