diff --git a/src/Makefile b/src/Makefile
index 128de0506ec7f2b39232b79441890047ac4a95f0..47e136df94d51f86a7e29f239f8a38b7b6c61ad1 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -45,6 +45,7 @@ TESTS := t_benchmark.o \
 	 t_bitreader.o \
 	 t_bitwriter.o \
 	 t_parser.o \
+	 t_misc.o \
 	 test_suite.o
 
 OUTPUTS := libhammer.a \
diff --git a/src/hammer.h b/src/hammer.h
index 0791769d729f83a059dcfa030a8b692636e30759..5a0c6257585686deaf13673fc6fa412a11068b9f 100644
--- a/src/hammer.h
+++ b/src/hammer.h
@@ -43,9 +43,8 @@ typedef enum HTokenType_ {
   TT_SINT,
   TT_UINT,
   TT_SEQUENCE,
-  TT_USER = 64,
   TT_ERR,
-  TT_MAX
+  TT_USER = 64
 } HTokenType;
 
 typedef struct HCountedArray_ {
diff --git a/src/t_misc.c b/src/t_misc.c
new file mode 100644
index 0000000000000000000000000000000000000000..5c08a2eb64a4db685bb841996d9471969233e70c
--- /dev/null
+++ b/src/t_misc.c
@@ -0,0 +1,16 @@
+#include <glib.h>
+#include "test_suite.h"
+#include "hammer.h"
+
+static void test_tt_user(void) {
+  g_check_cmpint(TT_USER, >, TT_NONE);
+  g_check_cmpint(TT_USER, >, TT_BYTES);
+  g_check_cmpint(TT_USER, >, TT_SINT);
+  g_check_cmpint(TT_USER, >, TT_UINT);
+  g_check_cmpint(TT_USER, >, TT_SEQUENCE);
+  g_check_cmpint(TT_USER, >, TT_ERR);
+}
+
+void register_misc_tests(void) {
+  g_test_add_func("/core/misc/tt_user", test_tt_user);
+}
diff --git a/src/test_suite.c b/src/test_suite.c
index 8d2913a580eb59a2eaf7ed03ed0e26200605640f..e01d020b3a077ed377f4cfcf934939a46f59eb0c 100644
--- a/src/test_suite.c
+++ b/src/test_suite.c
@@ -22,6 +22,7 @@
 extern void register_bitreader_tests();
 extern void register_bitwriter_tests();
 extern void register_parser_tests();
+extern void register_misc_tests();
 extern void register_benchmark_tests();
 
 int main(int argc, char** argv) {
@@ -31,6 +32,7 @@ int main(int argc, char** argv) {
   register_bitreader_tests();
   register_bitwriter_tests();
   register_parser_tests();
+  register_misc_tests();
   register_benchmark_tests();
 
   g_test_run();