diff --git a/tests/vty/vty_test.c b/tests/vty/vty_test.c
index 9627b6d..7146a1d 100644
--- a/tests/vty/vty_test.c
+++ b/tests/vty/vty_test.c
@@ -22,6 +22,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <errno.h>
+#include <limits.h>
 
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -438,6 +439,19 @@
 	return CMD_WARNING;
 }
 
+DEFUN(cfg_numeric_range, cfg_numeric_range_cmd,
+#if ULONG_MAX == 18446744073709551615UL
+	"numeric-range <0-18446744073709551615>",
+#else
+	"numeric-range <0-4294967295>",
+#endif
+	"testing numeric range\n"
+	"the numeric range\n")
+{
+	printf("Called: 'return-success'\n");
+	return CMD_SUCCESS;
+}
+
 void test_vty_add_cmds()
 {
 	install_element(CONFIG_NODE, &cfg_ret_warning_cmd);
@@ -461,6 +475,8 @@
 	install_element_ve(&cfg_ambiguous_nr_2_cmd);
 	install_element_ve(&cfg_ambiguous_str_1_cmd);
 	install_element_ve(&cfg_ambiguous_str_2_cmd);
+
+	install_element_ve(&cfg_numeric_range_cmd);
 }
 
 void test_is_cmd_ambiguous()
@@ -482,6 +498,21 @@
 	destroy_test_vty(&test, vty);
 }
 
+void test_numeric_range()
+{
+	struct vty *vty;
+	struct vty_test test;
+
+	printf("Going to test test_numeric_range()\n");
+	vty = create_test_vty(&test);
+
+	OSMO_ASSERT(do_vty_command(vty, "numeric-range 0") == CMD_ERR_NO_MATCH);
+	OSMO_ASSERT(do_vty_command(vty, "numeric-range 40000") == CMD_ERR_NO_MATCH);
+	OSMO_ASSERT(do_vty_command(vty, "numeric-range -400000") == CMD_ERR_NO_MATCH);
+
+	destroy_test_vty(&test, vty);
+}
+
 int main(int argc, char **argv)
 {
 	struct vty_app_info vty_info = {
@@ -535,6 +566,8 @@
 
 	test_is_cmd_ambiguous();
 
+	test_numeric_range();
+
 	/* Leak check */
 	OSMO_ASSERT(talloc_total_blocks(stats_ctx) == 1);
 
diff --git a/tests/vty/vty_test.ok b/tests/vty/vty_test.ok
index d2c9611..d81c6c7 100644
--- a/tests/vty/vty_test.ok
+++ b/tests/vty/vty_test.ok
@@ -311,4 +311,11 @@
 Going to execute 'ambiguous_str arg keyword'
 Called: 'ambiguous_str ARG keyword'
 Returned: 0, Current node: 1 '%s> '
+Going to test test_numeric_range()
+Going to execute 'numeric-range 0'
+Returned: 2, Current node: 1 '%s> '
+Going to execute 'numeric-range 40000'
+Returned: 2, Current node: 1 '%s> '
+Going to execute 'numeric-range -400000'
+Returned: 2, Current node: 1 '%s> '
 All tests passed
