diff --git a/node_reference/node_reference.module b/node_reference/node_reference.module
index 1752cd7..d7e1c4c 100644
--- a/node_reference/node_reference.module
+++ b/node_reference/node_reference.module
@@ -300,6 +300,20 @@ function node_reference_field_formatter_info() {
       'field types' => array('node_reference'),
       'settings'    => array('node_reference_view_mode' => 'full'),
     ),
+    'node_reference_nid' => array(
+      'label'       => t('Node ID'),
+      'description' => t('Display the referenced node ID'),
+      'field types' => array('node_reference'),
+    ),
+    'node_reference_path' => array(
+      'label'       => t('URL as plain text'),
+      'description' => t('Display the URL of the referenced node'),
+      'field types' => array('node_reference'),
+      'settings'    => array(
+        'node_reference_alias' => TRUE,
+        'node_reference_absolute' => FALSE
+      ),
+    ),
   );
   return $ret;
 }
@@ -343,25 +357,39 @@ function node_reference_field_formatter_settings_form($field, $instance, $view_m
   $display = $instance['display'][$view_mode];
   $settings = $display['settings'];
 
-  // Only build this information for node_reference_node displays
-  if ($display['type'] !== 'node_reference_node') {
-    return NULL;
-  }
+  switch ($display['type']) {
+    case 'node_reference_node':
+      $entity_info = entity_get_info('node');
+      $modes = $entity_info['view modes'];
+      $options = array();
+      foreach ($modes as $name => $mode) {
+        $options[$name] = $mode['label'];
+      }
+      $element['node_reference_view_mode'] = array(
+        '#title'   => t('View mode'),
+        '#type'    => 'select',
+        '#options' => $options,
+        '#default_value' => $settings['node_reference_view_mode'],
+        // Never empty, so no #empty_option
+      );
+      return $element;
+      break;
 
-  $entity_info = entity_get_info('node');
-  $modes = $entity_info['view modes'];
-  $options = array();
-  foreach ($modes as $name => $mode) {
-    $options[$name] = $mode['label'];
+    case 'node_reference_path':
+      $element['node_reference_alias'] = array(
+        '#type' => 'checkbox',
+        '#title' => t('Alias'),
+        '#default_value' => $settings['node_reference_alias'],
+      );
+      $element['node_reference_absolute'] = array(
+        '#type' => 'checkbox',
+        '#title' => t('Absolute'),
+        '#default_value' => $settings['node_reference_absolute'],
+      );
+      return $element;
+      break;
   }
-  $element['node_reference_view_mode'] = array(
-    '#title'   => t('View mode'),
-    '#type'    => 'select',
-    '#options' => $options,
-    '#default_value' => $settings['node_reference_view_mode'],
-    // Never empty, so no #empty_option
-  );
-  return $element;
+  return NULL;
 }
 
 /**
@@ -370,16 +398,26 @@ function node_reference_field_formatter_settings_form($field, $instance, $view_m
 function node_reference_field_formatter_settings_summary($field, $instance, $view_mode) {
   $display = $instance['display'][$view_mode];
   $settings = $display['settings'];
+  $summary = NULL;
 
-  if ($display['type'] === 'node_reference_node') {
-    $entity_info = entity_get_info('node');
-    $modes = $entity_info['view modes'];
-    $mode = $modes[$settings['node_reference_view_mode']]['label'];
-    $summary = t('View mode: %mode', array('%mode' => $mode));
-  }
-  else {
-    $summary = NULL;
+  switch ($display['type']) {
+    case 'node_reference_node':
+      $entity_info = entity_get_info('node');
+      $modes = $entity_info['view modes'];
+      $mode = $modes[$settings['node_reference_view_mode']]['label'];
+      $summary = t('View mode: %mode', array('%mode' => $mode));
+      break;
+
+    case 'node_reference_path':
+      $summary = '';
+      $summary .= t('Alias') . ': ';
+      $summary .= ($settings['node_reference_alias']) ? t('Yes') : t('No');
+      $summary .= '<br />';
+      $summary .= t('Absolute') . ': ';
+      $summary .= ($settings['node_reference_absolute']) ? t('Yes') : t('No');
+      break;
   }
+
   return $summary;
 }
 
@@ -479,6 +517,30 @@ function node_reference_field_formatter_view($entity_type, $entity, $field, $ins
         }
       }
       break;
+
+    case 'node_reference_nid':
+      foreach ($items as $delta => $item) {
+        if ($item['access']) {
+          $result[$delta] = array(
+            '#markup' => $item['nid'],
+          );
+        }
+      }
+      break;
+
+    case 'node_reference_path':
+      foreach ($items as $delta => $item) {
+        if (!$item['access']) {
+          continue;
+        }
+        $result[$delta] = array(
+          '#markup' => url('node/' . $item['nid'], array(
+            'absolute' => $display['settings']['node_reference_absolute'],
+            'alias' => !$display['settings']['node_reference_alias'])
+          ),
+        );
+      }
+      break;
   }
 
   return $result;
