diff --git a/test/api/Makefile.am b/test/api/Makefile.am
index a491a17..883464c 100644
--- a/test/api/Makefile.am
+++ b/test/api/Makefile.am
@@ -38,6 +38,7 @@
 	test-common \
 	test-draw \
 	test-font \
+	test-font-scale \
 	test-map \
 	test-object \
 	test-ot-alternates \
diff --git a/test/api/fonts/Cantarell.A.otf b/test/api/fonts/Cantarell.A.otf
new file mode 100644
index 0000000..da06ff7
--- /dev/null
+++ b/test/api/fonts/Cantarell.A.otf
Binary files differ
diff --git a/test/api/meson.build b/test/api/meson.build
index cba80f0..7ea2954 100644
--- a/test/api/meson.build
+++ b/test/api/meson.build
@@ -14,6 +14,7 @@
   'test-common.c',
   'test-draw.c',
   'test-font.c',
+  'test-font-scale.c',
   'test-map.c',
   'test-object.c',
   'test-ot-alternates.c',
diff --git a/test/api/test-font-scale.c b/test/api/test-font-scale.c
new file mode 100644
index 0000000..6949e70
--- /dev/null
+++ b/test/api/test-font-scale.c
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2021 Red Hat, Inc
+ *
+ * This is part of HarfBuzz, a text shaping library.
+ *
+ * Permission is hereby granted, without written agreement and without
+ * license or royalty fees, to use, copy, modify, and distribute this
+ * software and its documentation for any purpose, provided that the
+ * above copyright notice and the following two paragraphs appear in
+ * all copies of this software.
+ *
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ *
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ *
+ * Author(s): Matthias Clasen
+ */
+
+#include "hb-test.h"
+
+#include <hb.h>
+
+/* test for https://github.com/harfbuzz/harfbuzz/issues/3274 */
+
+static void
+test_hb_scale (void)
+{
+  hb_face_t *face = hb_test_open_font_file ("fonts/Cantarell.A.otf");
+  hb_font_t *font1 = hb_font_create (face);
+  hb_font_t *font2 = hb_font_create (face);
+
+  double scale = 64 * 1024 * 96./72.;
+  hb_font_set_scale (font1, scale, scale);
+  hb_font_set_scale (font2, - scale, - scale);
+
+  g_assert_cmpint (hb_font_get_glyph_h_advance (font1, 1), ==, - hb_font_get_glyph_h_advance (font2, 1));
+
+  hb_font_destroy (font1);
+  hb_font_destroy (font2);
+  hb_face_destroy (face);
+}
+
+int
+main (int argc, char **argv)
+{
+  hb_test_init (&argc, &argv);
+  hb_test_add (test_hb_scale);
+  return hb_test_run ();
+}
