diff --git a/recipe.module b/recipe.module
index e04b70a..2b8e52b 100644
--- a/recipe.module
+++ b/recipe.module
@@ -40,6 +40,10 @@ function recipe_theme($existing, $type, $theme, $path) {
       'function' => 'theme_recipe_description',
       'variables' => array('node' => NULL),
     ),
+    'recipe_description_summary' => array(
+      'function' => 'theme_recipe_description_summary',
+      'variables' => array('node' => NULL),
+    ),
     'recipe_summary' => array(
       'function' => 'theme_recipe_summary',
       'variables' => array('node' => NULL, 'show_title' => TRUE),
@@ -723,6 +727,9 @@ function recipe_view($node, $view_mode) {
   // If it is a teaser, you're done.
   // The teaser should have a full $node object, but not the $node->content render array.
   if ($view_mode == 'teaser') {
+    $node->content['recipe_description'] = array(
+        '#markup' => theme('recipe_description_summary', array('node' => $node)),
+    );
     return $node;
   }
 
@@ -882,6 +889,24 @@ function theme_recipe_description($variables) {
 }
 
 /**
+ * Returns HTML for displaying the recipe description summary.
+ */
+function theme_recipe_description_summary($variables) {
+  $node = $variables['node'];
+
+  // Wrap description in RDFa markup.
+  if ( !empty($node->rdf_mapping['recipe_description']) ) {
+    $attributes = rdf_rdfa_attributes($node->rdf_mapping['recipe_description']);
+    $attributes['class'] = array('recipe-section');
+    $node->recipe_description = theme('rdf_template_variable_wrapper', array('content' => $node->recipe_description, 'attributes' => $attributes, 'inline' => FALSE));
+  }
+
+  $output = '';
+  $output .= '<div>' . $node->recipe_description . '</div>';
+  return $output;
+}
+
+/**
  * Returns HTML for displaying the recipe notes.
  */
 function theme_recipe_notes($variables) {
diff --git a/recipe.test b/recipe.test
index 6fde180..c281cbd 100644
--- a/recipe.test
+++ b/recipe.test
@@ -301,6 +301,10 @@ class RecipeNodeTestCase extends RecipeWebTestCase {
     $this->assertRaw(format_string('<ing><amt><qty>@quantity</qty><unit>@unit</unit></amt><item>@name</item><prep>@note</prep></ing>', array('@quantity' => $ing_2_quantity, '@unit' => $this->unit_list[$ing_2_unit]['name'], '@name' => $ing_2_name, '@note' => $ing_2_note)), 'Found ingredient 2.');
     $this->assertRaw(format_string('<ing><amt><qty>@quantity</qty><unit>@unit</unit></amt><item>@name</item></ing>', array('@quantity' => $ing_3_quantity, '@unit' => $this->unit_list[$ing_3_unit]['name'], '@name' => $ing_3_name, '@note' => $ing_0_note)), 'Found ingredient 3.');
     $this->assertRaw(format_string('<ing><amt><qty>@quantity</qty><unit> </unit></amt><item>@name</item><prep>@note</prep></ing>', array('@quantity' => $ing_4_quantity, '@name' => $ing_4_name, '@note' => $ing_4_note)), 'Found ingredient 4.');
+
+    // Check for the description in the teaser view at /node.
+    $this->drupalGet('node');
+    $this->assertText($description, 'Found the recipe description.');
   }
 
   /**
