diff --git a/question_answer.install b/question_answer.install
index 4084082..d5c0f39 100644
--- a/question_answer.install
+++ b/question_answer.install
@@ -20,4 +20,5 @@ function question_answer_uninstall() {
   variable_del('question_answer_fieldtype');
   variable_del('question_answer_duration');
   variable_del('question_answer_maxlength');
+  variable_del('question_answer_toplevel_comments');
 }
diff --git a/question_answer.module b/question_answer.module
index ef5dc8b..9fdef64 100644
--- a/question_answer.module
+++ b/question_answer.module
@@ -196,7 +196,15 @@ function theme_question_answer_formatter_duration($element) {
       if ($remain < 0 && module_exists('votingapi')) {
         if ($node->{$qtype[$node->type]['answer']}[0]['value'] === NULL) {
           $selected = array('cid' => 0, 'value' => 0);
-          $result = db_query('SELECT cid FROM {comments} WHERE nid=%d ORDER BY timestamp', $node->nid);
+
+          // We also need to take care of the "top level comments" only here
+          if (variable_get('question_answer_toplevel_comments') == 0) {
+            $result = db_query('SELECT cid FROM {comments} WHERE nid=%d AND pid=0 ORDER BY timestamp', $node->nid);
+          }
+          else {
+            $result = db_query('SELECT cid FROM {comments} WHERE nid=%d ORDER BY timestamp', $node->nid);
+          }
+
           while ($row = db_fetch_object($result)) {
             $votes = votingapi_select_results(array('content_id' => $row->cid, 'content_type' => 'comment', 'function' => 'sum'));
             if (count($votes) > 0 && $votes[0]['value'] > $selected['value']) {
@@ -248,6 +256,7 @@ function question_answer_action_access($action, $comment, $node) {
   $current_answer = $node->{$qtype[$node->type]['answer']}[0]['value'];
   $no_answer = empty($current_answer);
   $own_question = $node->uid == $user->uid;
+  $toplevel_comments = variable_get('question_answer_toplevel_comments');
 
   switch ($action) {
     case 'select':
@@ -256,6 +265,11 @@ function question_answer_action_access($action, $comment, $node) {
         return FALSE;
       }
 
+      // If we can only select top level comments we must leave here
+      if ($toplevel_comments == 1 && $comment->pid > 0) {
+        return FALSE;
+      }
+
       // The author or any user with "select best answer for any question" can
       // select the best answer if there is none selected for this question. If
       // there is already a selected answer, the author with "change|deselect
@@ -278,6 +292,11 @@ function question_answer_action_access($action, $comment, $node) {
         return FALSE;
       }
 
+      // If we can only select top level comments we must leave here
+      if ($toplevel_comments == 1 && $comment->pid > 0) {
+        return FALSE;
+      }
+
       return ($own_question && (user_access('change best answer for own question') || user_access('deselect best answer for own question'))) ||
         ((user_access('deselect best answer for any question') && user_access('select best answer for any question')) || user_access('change best answer for any question'));
   }
diff --git a/question_answer.pages.inc b/question_answer.pages.inc
index 099bf7d..32bd049 100644
--- a/question_answer.pages.inc
+++ b/question_answer.pages.inc
@@ -108,5 +108,18 @@ function question_answer_settings() {
     '#description' => t('Maxlength of the question title. Default is 0 (unlimited)'),
   );
 
+  $form['question_answer_toplevel_comments'] = array(
+    '#type' => 'select',
+    '#title' => t('Top level comments only'),
+    '#required' => FALSE,
+    // For compatibility issue with the previous version the default is set to "No".
+    '#default_value' => variable_get('question_answer_toplevel_comments', 0),
+    '#options' => array(
+      0 => t('No'),
+      1 => t('Yes'),
+    ),
+    '#description' => t('Choose "Yes" if you only want <em>top level comments</em> to be available for being selected as <em>best answer</em>. The default behaviour is "No" that is to say that all comments can be selected as <em>best answer</em>. For consistency reason, when your choice is made and some <em>best answer</em> are already selected you should not change your mind on a production website.'),
+  );
+
   return system_settings_form($form);
 }
