diff --git a/includes/pager.inc b/includes/pager.inc
index 79714eebbb7a9957ce4dd967f275c0b5a3bd798e..f3546a269c898c0ed96ef2250b523ebadd2c319d 100644
--- a/includes/pager.inc
+++ b/includes/pager.inc
@@ -55,7 +55,7 @@ function pager_query($query, $limit = 10, $element = 0, $count_query = NULL) {
 
   // Count the total number of records in this query.
   if (!isset($count_query)) {
-    $count_query = preg_replace(array('/SELECT.*FROM/is', '/ORDER BY .*/'), array('SELECT COUNT(*) FROM', ''), $query);
+    $count_query = preg_replace(array('/SELECT.*?FROM/As', '/ORDER BY .*/'), array('SELECT COUNT(*) FROM', ''), $query);
   }
   $pager_total[$element] = db_result(call_user_func_array('db_query', array_merge(array($count_query), $args)));