diff -upNr excerpt/excerpt.install excerpt.new/excerpt.install
--- excerpt/excerpt.install	1970-01-01 01:00:00.000000000 +0100
+++ excerpt.new/excerpt.install	2007-08-10 01:51:14.000000000 +0200
@@ -0,0 +1,36 @@
+<?php
+
+/* $Id$ */
+
+/**
+ * Implementation of hook_uninstall().
+ */
+function excerpt_uninstall()
+{
+
+  // Deleted excerpt's variables
+  global $conf;
+  $result = db_query("SELECT name FROM {variable} WHERE name LIKE 'excerpt_%'");
+  while ($row = db_fetch_array($result)) {
+    unset($conf[$row['name']]);
+  }
+  $result = $result && db_query("DELETE FROM {variable} WHERE name LIKE 'excerpt_%'");
+  _excerpt_install_message(t('Failed to delete variables for excerpt.'), $result);
+  cache_clear_all('variables', 'cache');
+  
+  _excerpt_install_message();
+    
+}
+
+function _excerpt_install_message($message = '', $result = NULL) {
+  static $success = true;
+  if (isset($result)) {
+    if(!$result) {
+      drupal_set_message($message, 'error');
+      $success = false;
+    }
+  }
+  elseif($success) {
+    drupal_set_message($message);
+  }
+}
diff -upNr excerpt/excerpt.module excerpt.new/excerpt.module
--- excerpt/excerpt.module	2007-08-10 02:33:37.000000000 +0200
+++ excerpt.new/excerpt.module	2007-08-10 02:33:52.000000000 +0200
@@ -3,8 +3,6 @@
 
 function excerpt_help($section) {
   switch ($section) {
-    case 'admin/modules#description':
-      return t('Allows users to enter a separate excerpt for nodes.');
     case 'admin/node/configure/defaults':
       return t('<p>If you want users to be able to enter separate excerpts for nodes, check the <em>excerpt</em> box in the appropriate column.</p>');
   }
@@ -23,32 +21,28 @@ function excerpt_nodeapi(&$node, $op, $a
   }
 }
 
-function excerpt_form_alter($form_id, &$form) {
-  if (isset($form['type'])) {
-    $node = $form['#node'];
-    
-    if ($form['type']['#value'] .'_node_settings' == $form_id) {
-      $form['excerpt'] = array('#type' => 'fieldset', '#title' => t('Excerpt'));
-      $form['excerpt']['excerpt_options_'. $form['type']['#value']] = array(
-        '#type' => 'radios',
-        '#title' => t('Teasers'),
-        '#default_value' => variable_get('excerpt_options_'. $form['type']['#value'], 1),
-        '#options' => array(t('Auto-generated'), t('Manual excerpt')),
-        '#description' => t('Choose whether teasers are generated automatically or can be entered manually by the author.')
-      );
-    }
+function excerpt_form_alter($form_id, &$form) {  
+  if ($form_id == 'node_type_form') {
+    $form['workflow']['excerpt']['excerpt_options'] = array(
+      '#type' => 'radios',
+      '#title' => t('Teasers'),
+      '#default_value' => variable_get('excerpt_options_'. $form['#node_type']->type, 1),
+      '#options' => array(t('Auto-generated'), t('Manual excerpt')),
+      '#description' => t('Choose whether teasers are generated automatically or can be entered manually by the author.')
+    );
+  }
     
-    if ($form['type']['#value'] .'_node_form' == $form_id && variable_get('excerpt_options_'. $node->type, 1)) {
+  if (isset($form['type'])) {
+    if ($form['type']['#value'] .'_node_form' == $form_id && variable_get('excerpt_options_'. $form['type']['#value'], 1)) {
       $form['teaser'] = array(
         '#type' => 'textarea',
         '#title' => t('Teaser'),
-        '#default_value' => $node->teaser,
+        '#default_value' => $form['#node']->teaser,
         '#cols' => 60,
         '#rows' => 5,
-        '#weight' => -17.5,
+        '#weight' => -1,
         '#description' => t('Enter an excerpt for this item. It will be shown on listing pages along with a <em>read more</em> link which leads to the full view. Leave empty to auto-generate one from the body.')
       );
-    }
-  
+    } 
   }
 }
