diff --git a/field_redirection.module b/field_redirection.module
index 9356ae6..19e376c 100644
--- a/field_redirection.module
+++ b/field_redirection.module
@@ -126,22 +126,18 @@ function field_redirection_goto($type, $item, $response_code = 301) {
         break;
 
       // Node reference field.
-      case 'node_reference':
+      case 'node_reference_autocomplete':
         if (!empty($item['nid'])) {
-          // Build the internal system path.
-          $path = 'node/' . $item['nid'];
-          // Ensure path is valid.
-          $path = drupal_valid_path($path) ? $path : '';
+          // Wrap the internal system path with its alias.
+          $path = drupal_get_path_alias('node/' . $item['nid']);
         }
         break;
 
       // User reference field.
-      case 'user_reference':
+      case 'user_reference_autocomplete':
         if (!empty($item['uid'])) {
-          // Build the internal system path.
-          $path = 'user/' . $item['uid'];
-          // Ensure path is valid.
-          $path = drupal_valid_path($path) ? $path : '';
+          // Wrap the internal system path with its alias.
+          $path = drupal_get_path_alias('user/' . $item['uid']);
         }
         break;
     }
@@ -152,7 +148,7 @@ function field_redirection_goto($type, $item, $response_code = 301) {
     // If the user has permission to bypass the page redirection, return a
     // message explaining where they would have been redirected to.
     if (user_access('bypass redirection')) {
-      drupal_set_message(t('This page is set to redirect to <a href="!path">another URL</a>, but you have permission to see the page and not be automatically redirected.', array('!path' => $path)), 'warning');
+      drupal_set_message(t('This page is set to redirect to <a href="!path">another URL</a>, but you have permission to see the page and not be automatically redirected.', array('!path' => base_path() . $path)), 'warning');
     }
     else {
       drupal_goto($path, array(), $response_code);
