diff --git a/answers.module b/answers.module
index e1e6c8a..cdb3bb1 100644
--- a/answers.module
+++ b/answers.module
@@ -4,7 +4,8 @@
  * Code for the Answers feature.
  */
 
-include_once('answers.features.inc');
+include_once('answers.features.inc');;
+module_load_include('inc', 'answers', 'includes/answers.display');
 module_load_include('inc', 'answers', 'includes/answers.field_utils');
 module_load_include('inc', 'answers', 'includes/answers.notify');
 module_load_include('inc', 'answers', 'includes/answers.search');
@@ -80,6 +81,8 @@ function answers_settings() {
 
   $form['notify'] = _answers_notify_settings();
 
+  $form += _answers_display_settings();
+
   return system_settings_form($form);
 }
 
@@ -100,6 +103,37 @@ function answers_node_view($node, $view_mode, $langcode) {
       field_update_instance($field_instance);
     }
   }
+  elseif (!variable_get('answers_answer_navigation', TRUE) && $node->type == 'answer' && $view_mode == 'full' && node_is_page($node) && $node->status) {
+    // If viewing node page for a published answer and if configured to prevent
+    // navigation to answer nodes, redirect to question, with answer node id in
+    // fragment.
+    $items = field_get_items('node', $node, 'field_answer_question', $node->language);
+    if (!empty($items[0]['nid'])) {
+      drupal_goto('node/' . $items[0]['nid'], array('fragment' => 'node-' . $node->nid));
+    }
+  }
+}
+
+/**
+ * Implements hook_theme().
+ **/
+function answers_theme() {
+  $theme = array();
+
+  // This makes answers default to using answers provided node template
+  // if configured to prevent navigation to answer nodes.
+  // This is so can remove the link to answer node by default.
+  // This may make answers look different if the theme has overriden the default
+  // node.tpl.php.
+  if (!variable_get('answers_answer_navigation', TRUE)) {
+    $path = drupal_get_path('module', 'answers');
+    $theme['node__answer'] = array(
+      'template' => 'node--answer',
+      'path' => $path,
+      'original hook' => 'node',
+    );
+  }
+  return $theme;
 }
 
 /*
diff --git a/includes/answers.display.inc b/includes/answers.display.inc
new file mode 100644
index 0000000..c06b543
--- /dev/null
+++ b/includes/answers.display.inc
@@ -0,0 +1,37 @@
+<?php
+
+/**
+ * @file
+ * Display utility functions for the 'Answers' module
+ */
+
+/**
+ * Add settings relating to display to the admin form
+ */
+function _answers_display_settings() {
+  $form = array();
+
+  $form['answers_display'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Display Settings'),
+  );
+
+  $form['answers_display']['answers_answer_navigation'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Navigation to answer page'),
+    '#default_value' => variable_get('answers_answer_navigation', TRUE),
+    '#description' => t('If the main viewing of an answer should only be on the question page, disable this option. When turned off, any link to a published answer will redirect to the question page, scrolled to the answer. When enabled, links will act like normal.'),
+  );
+  $form['#submit'][] = '_answers_display_clear_theme_cache';
+
+  return $form;
+}
+
+/**
+ * Form submission that clears the theme registery if navigation setting changed.
+ */
+function _answers_display_clear_theme_cache($form, $form_state) {
+  if ($form['answers_display']['answers_answer_navigation']['#default_value'] != $form_state['values']['answers_answer_navigation']) {
+    drupal_theme_rebuild();
+  }
+}
diff --git a/node--answer.tpl.php b/node--answer.tpl.php
new file mode 100644
index 0000000..b277b63
--- /dev/null
+++ b/node--answer.tpl.php
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * @file
+ * Answer's override of default node theme implementation.
+ *
+ * Answers using the generic node rendering so users can add fields and
+ * customize answers easily. However, node's default template is limiting and
+ * does not allow rendering the title without linking to the node page.
+ */
+?>
+<div id="node-<?php print $node->nid; ?>" class="<?php print $classes; ?> clearfix"<?php print $attributes; ?>>
+
+  <?php print $user_picture; ?>
+
+  <?php print render($title_prefix); ?>
+  <?php if (!$page): ?>
+    <h2<?php print $title_attributes; ?>><?php print $title; ?></h2>
+  <?php endif; ?>
+  <?php print render($title_suffix); ?>
+
+  <?php if ($display_submitted): ?>
+    <div class="submitted">
+      <?php print $submitted; ?>
+    </div>
+  <?php endif; ?>
+
+  <div class="content"<?php print $content_attributes; ?>>
+    <?php
+      // We hide the comments and links now so that we can render them later.
+      hide($content['comments']);
+      hide($content['links']);
+      print render($content);
+    ?>
+  </div>
+
+  <?php print render($content['links']); ?>
+
+  <?php print render($content['comments']); ?>
+
+
+</div>
