diff --git a/modules/taxonomy.module b/modules/taxonomy.module
index b57be1347a689a9c13b74b1fb271343dc52559e6..68639d4abe0a99351fef1b4aade1d7f80dd46eaa 100644
--- a/modules/taxonomy.module
+++ b/modules/taxonomy.module
@@ -723,8 +723,7 @@ function taxonomy_page() {
   $taxonomy->str_tids = check_query(arg(3));
   $taxonomy->tids = explode(",", $taxonomy->str_tids);
 
-  if (ereg("^[0-9,]+[^,]$", $taxonomy->str_tids)) {
-
+  if (ereg("^([0-9],){0,}[0-9]+$", $taxonomy->str_tids)) {
     switch (arg(1)) {
       case "feed":
         taxonomy_feed($taxonomy);
diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index b57be1347a689a9c13b74b1fb271343dc52559e6..68639d4abe0a99351fef1b4aade1d7f80dd46eaa 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -723,8 +723,7 @@ function taxonomy_page() {
   $taxonomy->str_tids = check_query(arg(3));
   $taxonomy->tids = explode(",", $taxonomy->str_tids);
 
-  if (ereg("^[0-9,]+[^,]$", $taxonomy->str_tids)) {
-
+  if (ereg("^([0-9],){0,}[0-9]+$", $taxonomy->str_tids)) {
     switch (arg(1)) {
       case "feed":
         taxonomy_feed($taxonomy);