Index: ed_readmore.module
===================================================================
--- ed_readmore.module	(revision 126)
+++ ed_readmore.module	(working copy)
@@ -105,7 +105,10 @@
         //
         // since we are blowing away some of the implicit info ($node->readmore) let's remember that this was a teaser
         $node->is_teaser = TRUE;
-        $node->content['body']['#value'] = _ed_readmore_place_readmore_link($node->content['body']['#value'], $readmore_url, $inlineflag);
+        $delete = array("\n", "\r", "\r\n", "<!--break-->");
+        if ((str_replace($delete, "", $node->body) != str_replace($delete, "", $node->teaser)) or (variable_get('ed_readmore_readmore_compare', 1) == 0)) {
+          $node->content['body']['#value'] = _ed_readmore_place_readmore_link($node->content['body']['#value'], $readmore_url, $inlineflag);
+        }
       }
     }
   }
@@ -214,6 +217,12 @@
           '#default_value' => variable_get('ed_readmore_readmore_strong', 1),
           '#required' => FALSE);
 
+  $form['readmore']['ed_readmore_readmore_compare'] =
+    array('#type' => 'checkbox',
+          '#title' =>  t('compare node teaser with node body'),
+          '#default_value' => variable_get('ed_readmore_readmore_compare', 1),
+          '#description' => t('Compare the node body with the node teaser to make sure a Read More link should be displayed. If this option is selected then the Read More link will not be displayed if the node body is the same as the node teaser.'),
+          '#required' => FALSE);
 
   return system_settings_form($form);
 }
