diff --git a/modules/path.eval.inc b/modules/path.eval.inc
index bfef75e..35daf52 100644
--- a/modules/path.eval.inc
+++ b/modules/path.eval.inc
@@ -96,6 +96,15 @@ function rules_clean_path($path) {
  * in the site's settings.php file.
  */
 function rules_path_default_cleaning_method($path) {
+  if (module_exists('ctools')) {
+    // CTools has a more robust implementation of cleanstring, so use it.
+    ctools_include('cleanstring');
+    $settings = array(
+      'transliterate' => module_exists('transliteration') && variable_get('rules_path_transliteration', TRUE),
+    );
+    return ctools_cleanstring($path, $settings);
+  }
+
   $replace = variable_get('rules_path_replacement_char', '-');
   if ($replace) {
     // If the transliteration module is enabled, transliterate the alias first.
