diff --git a/edit_section.module b/edit_section.module
index cfc2c9f..4fabf46 100644
--- a/edit_section.module
+++ b/edit_section.module
@@ -188,6 +188,52 @@ function edit_section_form($form, $form_state, $node, $section_id) {
       '#description' => t('An explanation of the additions or updates being made to help other authors understand your motivations.')
     );
   }
+
+  // Revisioning module settings
+  if (module_exists('revisioning')) {
+    //copy and paste from Revision module
+    $is_moderated_content = isset($node->revision_moderation) ? $node->revision_moderation : revisioning_content_is_moderated($form['type']['#value'], $node);
+    // Alter the Create/Edit content form, if subject to moderation.
+    if ($is_moderated_content) {
+      // "Create new revision" must be set when the node is to be moderated.
+      $node->revision = TRUE;
+      // Next line is not essential, just ensures form options are
+      // consistent with the edited content being subject to moderation.
+      $form['revision_information']['revision']['#default_value'] = TRUE;
+      // For moderated content "Published" box will be treated as unticked,
+      // See revisioning_node_presave().
+    }
+    $options = array();
+    if (isset($node->nid)) {
+      $options[REVISIONING_NO_REVISION] = t('Modify current revision, no moderation');
+    }
+    $options[REVISIONING_NEW_REVISION_NO_MODERATION]  = t('Create new revision, no moderation');
+    $options[REVISIONING_NEW_REVISION_WITH_MODERATION] = t('Create new revision and moderate');
+
+    // This radio selection will appear in hook_node_presave as
+    // $node->revision_operation
+    $form['revision_information']['revision_operation'] = array(
+      '#title' => t('Revision creation and moderation options'),
+      '#description' => t('Moderation means that the new revision is not publicly visible until approved by someone with the appropriate permissions.'),
+      '#type' => 'radios',
+      '#options' => $options,
+      '#default_value' => isset($node->nid)
+          ? (int) $node->revision + (int) $is_moderated_content
+          : ($is_moderated_content ? REVISIONING_NEW_REVISION_WITH_MODERATION : REVISIONING_NEW_REVISION_NO_MODERATION),
+      '#weight' => -50,
+    );
+    unset($form['revision_information']['revision']);
+
+    // Add javascript to show/hide the "Published" checkbox if the user
+    // presses one of the first two radio buttons. Also updates summary tabs.
+    $js_file = drupal_get_path('module', 'revisioning') . '/js/revisioning-radios.js';
+    // After node.js.
+    drupal_add_js($js_file, array('weight' => 1));
+    if (variable_get('revisioning_no_moderation_by_default', FALSE)) {
+      $form['revision_information']['revision_operation']['#default_value'] = REVISIONING_NEW_REVISION_NO_MODERATION;
+    }
+    // end copy and paste from Revision module
+  }
   
   $form['save'] = array(
     '#type' => 'submit',
@@ -216,8 +262,19 @@ function edit_section_form_submit($form, &$form_state) {
   $body .= substr($node->body[$node->language][0]['value'], $offsets['end']);
   
   $node->body[$node->language][0]['value'] = $body;
-  
-  if($form_state['values']['revision']) {
+
+  // Determine whether node is Revisioning control
+  // no need for a complex test,
+  // just check module exist and form_state as test was
+  // done during form build
+  $revisioning = FALSE; // flag to direct redirect
+  if (module_exists('revisioning') && isset($form_state['values']['revision_operation'])) {
+    // this is tested for in revisioning hook_node_presave, so we need to set it
+    $node->revision_operation = $form_state['values']['revision_operation'];
+    $node->log = $form_state['values']['log'];
+    $revisioning = TRUE;
+  }
+  elseif($form_state['values']['revision']) {
     $node->revision = TRUE;
     $node->log = $form_state['values']['log'];
   }
@@ -232,6 +289,12 @@ function edit_section_form_submit($form, &$form_state) {
   $t_args = array('@type' => $node->type, '%title' => $node->title);
   drupal_set_message(t('@type %title has been updated.', $t_args));
 
-  $form_state['redirect'] = 'node/' . $node->nid;
+  // redirect according to whether Revisioning is active or not
+  if ($revisioning) {
+    $form_state['redirect'] = 'node/' . $node->nid . '/revisions/' . $node->vid . '/view';
+  }
+  else {
+    $form_state['redirect'] = 'node/' . $node->nid;
+  }
 }
 
