diff --git a/maxlength.module b/maxlength.module
index c4eaaae..02ff5cc 100644
--- a/maxlength.module
+++ b/maxlength.module
@@ -37,9 +37,38 @@ function maxlength_pre_render($element) {
  * Implements hook_form_FORM_ID_alter().
  */
 function maxlength_form_field_ui_field_edit_form_alter(&$form, &$form_state, $form_id) {
+  // Add an optional maxlength for teaser field.
+  if ($form['#instance']['widget']['type'] == 'text_textarea_with_summary') {
+    $form['instance']['widget']['settings']['teaser'] = array(
+      '#type' => 'fieldset',
+      '#collapsible' => TRUE,
+      '#collapsed' => FALSE,
+      '#tree' => FALSE,
+      // This line is only used if ctools is enabled, but there is no reason to require it.
+      '#dependency' => array(
+        'edit-instance-settings-display-summary' => array(1),
+      ),
+      '#title' => t('Teaser maxlength settings'),
+    );
+    $form['instance']['widget']['settings']['teaser']['maxlength_teaser_js'] = array(
+      '#type' => 'checkbox',
+      '#title' => 'Maxlength JS',
+      '#description' => t('Limit the maximum length of the field in characters using the "<strong>Maximum length</strong>" value set in the <strong>field settings</strong> using Javascript.'),
+      '#default_value' => isset($form['#instance']['widget']['settings']['maxlength_teaser_js']) ? $form['#instance']['widget']['settings']['maxlength_teaser_js'] : NULL,
+    );
+
+    $form['instance']['widget']['settings']['teaser']['maxlength_teaser_js_label'] = array(
+      '#type' => 'textarea',
+      '#rows' => 2,
+      '#title' => 'Count down message',
+      '#default_value' =>  isset($form['#instance']['widget']['settings']['maxlength_teaser_js_label']) ? $form['#instance']['widget']['settings']['maxlength_teaser_js_label'] : 'Content limited to @limit characters, remaining: <strong>@remaining</strong>',
+      '#description' => t('The text used in the Javascript message under the input, where "@limit", "@remaining" and "@count" are replaced by the appropriate numbers.'),
+    );
+  }
+
   // Add settings for textarea widgets
   $fields = array('text_textarea_with_summary', 'text_textarea');
-  if(in_array($form['#instance']['widget']['type'], $fields)) {
+  if (in_array($form['#instance']['widget']['type'], $fields)) {
     $form['instance']['widget']['settings']['maxlength_js'] = array(
       '#type' => 'textfield',
       '#title' => 'Maxlength JS',
@@ -47,9 +76,10 @@ function maxlength_form_field_ui_field_edit_form_alter(&$form, &$form_state, $fo
       '#default_value' => isset($form['#instance']['widget']['settings']['maxlength_js']) ? $form['#instance']['widget']['settings']['maxlength_js'] : NULL,
     );
   }
+
   // Add settings for textfield widgets
   $fields = array('text_textfield');
-  if(in_array($form['#instance']['widget']['type'], $fields)) {
+  if (in_array($form['#instance']['widget']['type'], $fields)) {
     $form['instance']['widget']['settings']['maxlength_js'] = array(
       '#type' => 'checkbox',
       '#title' => 'Maxlength JS',
@@ -61,7 +91,7 @@ function maxlength_form_field_ui_field_edit_form_alter(&$form, &$form_state, $fo
   $form['instance']['widget']['settings']['maxlength_js_label'] = array(
     '#type' => 'textarea',
     '#rows' => 2,
-    '#title' => t('Count down message'),
+    '#title' => 'Count down message',
     '#default_value' =>  isset($form['#instance']['widget']['settings']['maxlength_js_label']) ? $form['#instance']['widget']['settings']['maxlength_js_label'] : 'Content limited to @limit characters, remaining: <strong>@remaining</strong>',
     '#description' => t('The text used in the Javascript message under the input, where "@limit", "@remaining" and "@count" are replaced by the appropriate numbers.'),
   );
@@ -107,6 +137,11 @@ function _maxlength_children(&$element, $ms_elements) {
 
       // @todo: Shouldn't it support multi-fields as well?
       $element[$child][0]['#attributes']['maxlength_js_label'] = array($maxlength_js_label);
+
+      // Add summary maxlength setttings if needed.
+      if (isset($element[$child][0]['summary'])) {
+        dsm($ms_elements[$element[$child]['#field_name']]['widget']['settings']);
+      }
     }
     _maxlength_children($element[$child], $ms_elements);
   }
