Can Pathauto fallback to another pattern if the first pattern yields an empty path?
You can now achieve this using hook_pathauto_pattern_alter().  Something like:

&lt;?php
/**
 * Implements hook_pathauto_pattern_alter().
 */
function mymodule_pathauto_pattern_alter(&amp;$pattern, array $context) {
  // Alter any node entity path patterns we need to
  if (isset($context['data']['node'])) {
    $node = $context['data']['node'];

    switch ($node-&gt;type) {
      case 'page':
        // Check condition, and change the pattern when appropriate
        $pattern = '[node:title]';
        break;

    }
  }
?&gt;