diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h
index 7d2fd2e701a171c2f224e8ee2352ad99368d8a96..9d79439e049eefb56ef60997933d67910dfd6ff3 100644
--- a/src/testlib/qtestcase.h
+++ b/src/testlib/qtestcase.h
@@ -238,7 +238,7 @@ namespace QTest
     inline typename QtPrivate::QEnableIf<QtPrivate::IsQEnumHelper<T>::Value, char*>::Type toString(T e)
     {
         QMetaEnum me = QMetaEnum::fromType<T>();
-        return qstrdup(me.key(e));
+        return qstrdup(me.key(int(e))); // int cast is necessary to support enum classes
     }
 
     template <typename T> // Fallback