diff --git a/src/table.c b/src/table.c
index f51ad81..cb45c4e 100644
--- a/src/table.c
+++ b/src/table.c
@@ -36,7 +36,7 @@
 #define _vte_table_is_numeric(__c) \
 	(((__c) >= '0') && ((__c) <= '9'))
 #define _vte_table_is_numeric_list(__c) \
-	((((__c) >= '0') && ((__c) <= '9')) || (__c) == ';')
+	((((__c) >= '0') && ((__c) <= '9')) || (__c) == ';' || (__c) == ':')
 
 struct _vte_table {
 	struct _vte_matcher_impl impl;
@@ -546,7 +546,7 @@ _vte_table_extract_numbers(GValueArray **array,
 	i = 0;
 	do {
 		long total = 0;
-		for (; i < arginfo->length && arginfo->start[i] != ';'; i++) {
+		for (; i < arginfo->length && arginfo->start[i] != ';' && arginfo->start[i] != ':'; i++) {
 			gint v = g_unichar_digit_value (arginfo->start[i]);
 			total *= 10;
 			total += v == -1 ?  0 : v;
