Index: content.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/cck/content.module,v
retrieving revision 1.90.2.49
diff -u -p -r1.90.2.49 content.module
--- content.module	3 Mar 2008 00:02:47 -0000	1.90.2.49
+++ content.module	8 Mar 2008 18:31:07 -0000
@@ -288,6 +288,20 @@ function content_delete_revision(&$node)
  * Generate field render arrays.
  */
 function content_view(&$node, $teaser = FALSE, $page = FALSE) {
+  if (($node->readmore == FALSE) && $teaser) {
+    // node does not need a teaser, do we need it?
+    $type = content_types($node->type);
+    if (count($type['fields'])) {
+      foreach ($type['fields'] as $field) {
+        $formatter = isset($field['display_settings']['teaser']['format']) ? $field['display_settings']['teaser']['format'] : 'default';
+        if ($formatter == 'hidden') {
+          $node->readmore = true;
+          break;
+        }
+      }
+    }
+  }  
+  
   if ($node->in_preview) {
     _content_widget_invoke('process form values', $node);
   }
