diff --git a/pathauto.inc b/pathauto.inc
index ff928e4..5ffa06c 100644
--- a/pathauto.inc
+++ b/pathauto.inc
@@ -463,9 +463,9 @@ function pathauto_alias_uniquify(&$alias, $source, $langcode) {
 }
 
 /**
- * Verify if the given path is a valid menu callback.
- *
- * Taken from menu_execute_active_handler().
+ * Check if the given path already exists as menu callback or in filesystem.
+ * 
+ * We don't want to assign an automatic alias to a preexisting path.
  *
  * @param $path
  *   A string containing a relative path.
@@ -473,23 +473,15 @@ function pathauto_alias_uniquify(&$alias, $source, $langcode) {
  *   TRUE if the path already exists.
  */
 function _pathauto_path_is_callback($path) {
-  // We need to use a try/catch here because of a core bug which will throw an
-  // exception if $path is something like 'node/foo/bar'.
-  // @todo Remove when http://drupal.org/node/1302158 is fixed in core.
-  try {
-    $menu = menu_get_item($path);
-  }
-  catch (Exception $e) {
-    return FALSE;
-  }
-
+  // Check if the given path already is a valid menu callback
+  $menu = menu_get_item($path);
   if (isset($menu['path']) && $menu['path'] == $path) {
     return TRUE;
   }
+  // Check otherwise if the path already exists on the filesystem.
+  // Note that we do not need to use is_link() to check for symbolic links
+  // since this returns TRUE for either is_file() or is_dir() already.
   elseif (is_file(DRUPAL_ROOT . '/' . $path) || is_dir(DRUPAL_ROOT . '/' . $path)) {
-    // Do not allow existing files or directories to get assigned an automatic
-    // alias. Note that we do not need to use is_link() to check for symbolic
-    // links since this returns TRUE for either is_file() or is_dir() already.
     return TRUE;
   }
   return FALSE;
