diff --git a/submitagain.module b/submitagain.module
index 4c3fce0..faae546 100644
--- a/submitagain.module
+++ b/submitagain.module
@@ -12,7 +12,7 @@
  * Implementation of hook_form_alter().
  */
 function submitagain_form_alter(&$form, $form_state, $form_id) {
-  if (strpos($form_id, '_node_form') && !isset($form['nid']['#value'])) {
+  if (strpos($form_id, '_node_form')) {
     if (variable_get('submitagain_'. $form['type']['#value'], FALSE)) {
       $form['buttons']['submit_again'] = array(
         '#type' => 'submit',
@@ -25,9 +25,16 @@ function submitagain_form_alter(&$form, $form_state, $form_id) {
 }
 
 function submitagain_node_form_submit($form, &$form_state) {
-  $link = l(t('Visit your new post.'), 'node/'. $form_state['nid']);
+  if(!empty($form_state['values']['changed'])){
+  $link = l(t('Visit your Updated post.'), 'node/'. $form_state['nid']);
   drupal_set_message($link);
-  
+  $nid = arg(1);
+  $node = node_load($nid);
+  drupal_goto('node/add/'. str_replace('_', '-', $node->type));
+  }else{
+    $link = l(t('Visit your new post.'), 'node/'. $form_state['nid']);
+  drupal_set_message($link);
+  }
   // Go back to same node/add/x form and also disregard destination= on querystring.
   $form_state['redirect'] = NULL;
   unset($_REQUEST['destination'], $_REQUEST['edit']['destination']);
@@ -45,4 +52,4 @@ function submitagain_form_node_type_form_alter(&$form, &$form_state) {
       '#description' => t('Enable this checkbox if you want to provide a "Save and create another" button for your users.')
     );
   }
-}
\ No newline at end of file
+}
