diff --git a/docroot/profiles/drupal_commons/modules/features/commons_core/commons_core.form.inc b/docroot/profiles/drupal_commons/modules/features/commons_core/commons_core.form.inc
index a7c4c67..b0978f2 100644
--- a/docroot/profiles/drupal_commons/modules/features/commons_core/commons_core.form.inc
+++ b/docroot/profiles/drupal_commons/modules/features/commons_core/commons_core.form.inc
@@ -358,6 +358,14 @@ function commons_core_group_create_content_block_form(&$form_state) {
     '#value' => $group ? $group : NULL,
   );
   
+  // If we are coming from a known content-type path, set the return path
+  if (!empty($form['node_type']['#default_value'])) {
+    $form['destination'] = array(
+      '#type' => 'value',
+      '#value' => $_GET['q'],
+    );
+  }
+
   // Submit button
   $form['submit'] = array(
     '#type' => 'submit',
@@ -388,6 +396,14 @@ function commons_core_group_create_content_block_form_submit(&$form, $form_state
     }
   }
   
+  // If a destination was passed, attempt to set the query string variable
+  if (isset($form_state['values']['destination'])) {
+    // We want to make sure we aren't redirecting to an external URL
+    if (filter_xss_bad_protocol($path, FALSE) == check_plain($path)) {
+      $options['destination'] =  $form_state['values']['destination'];
+    }
+  }
+
   // Redirect to the node form
   drupal_goto("node/add/{$type}", $options);
 }
