ff2665ed6ab9dc2b87371e94a6566be2b349585f
diff --git a/bse/tests/misctests.cc b/bse/tests/misctests.cc
index 74f76b9..cfeef10 100644
--- a/bse/tests/misctests.cc
+++ b/bse/tests/misctests.cc
@@ -38,6 +38,22 @@ check_cent_table (void)
 }
 
 static void
+check_cent_tune (void)
+{
+  TSTART ("Cent Tune Function");
+  const double epsilon = 1e-14;
+  int i = 0;
+  for (double fine_tune = -3600; fine_tune < 3600; fine_tune += g_random_double())  /* 3 octaves */
+    {
+      double expected = pow (2.0, 1. / 1200. * fine_tune);
+      TCHECK_CMP (fabs (bse_cent_tune (fine_tune) - expected), <, epsilon);
+      if (i++ % 500 == 0)
+        TOK();
+    }
+  TDONE();
+}
+
+static void
 check_equal_tempered_tuning (void)
 {
   TSTART ("Equal Temperament");
@@ -112,6 +128,7 @@ main (gint   argc,
   bse_init_test (&argc, &argv, NULL);
 
   check_cent_table();
+  check_cent_tune();
   check_equal_tempered_tuning();
 
   BseMusicalTuningType last_tuning = BSE_MUSICAL_TUNING_YOUNG;
