diff --git a/docroot/profiles/drupal_commons/modules/contrib/og/og.js b/docroot/profiles/drupal_commons/modules/contrib/og/og.js
index 1ffe812..834a7ea 100644
--- a/docroot/profiles/drupal_commons/modules/contrib/og/og.js
+++ b/docroot/profiles/drupal_commons/modules/contrib/og/og.js
@@ -42,6 +42,10 @@ Drupal.verticalTabs.og = function() {
       return Drupal.t('May not be posted into a group.');
       break;
       
+    case 'group_post_group':
+      return Drupal.t('Group node and/or post');
+      break;
+      
     case 'group_post_standard':
       return Drupal.t('Standard group post');
       break;
diff --git a/docroot/profiles/drupal_commons/modules/contrib/og/og.module b/docroot/profiles/drupal_commons/modules/contrib/og/og.module
index 9d7a089..ed2d72d 100644
--- a/docroot/profiles/drupal_commons/modules/contrib/og/og.module
+++ b/docroot/profiles/drupal_commons/modules/contrib/og/og.module
@@ -1280,7 +1280,8 @@ function og_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
       if (og_is_group_type($node->type)) {
         og_load_group($node);
       }
-      elseif ($grps = og_get_node_groups($node)) {
+      
+      if ($grps = og_get_node_groups($node)) {
         // TODO: Refactor so we don't need 2 arrays.
         $node->og_groups = drupal_map_assoc(array_keys($grps));
         $node->og_groups_both = $grps;
@@ -1349,7 +1350,8 @@ function og_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
           module_invoke_all('og', 'admin new', $node->nid, $account->uid, $message);
         }
       }
-      else {
+      
+      if (og_is_group_post_type($node->type)) {
         og_save_ancestry($node);
       }
       break;
@@ -1365,7 +1367,8 @@ function og_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
           }
         }
       }
-      else {
+      
+      if (og_is_group_post_type($node->type)) {
         og_save_ancestry($node);
       }
       break;
@@ -1434,7 +1437,8 @@ function og_form_alter(&$form, &$form_state, $form_id) {
       $form['author']['name']['#title'] = t('Group manager');
       $form['options']['sticky']['#title'] = t('Sticky at top of group home page and other lists.');
     }
-    elseif (og_is_group_post_type($node->type)) {
+    
+    if (og_is_group_post_type($node->type)) {
       if ($group_node = og_get_group_context()) {
         $bc = og_get_breadcrumb($group_node);
         if (isset($node->nid)) {
@@ -1508,6 +1512,7 @@ function og_form_node_type_form_alter(&$form, &$form_state) {
   else {
     $usage = variable_get('og_content_type_usage_'. $form['identity']['type']['#value'], 'omitted');
   }
+  
   // Persist $usage so that we can rebuild node access as needed.
   $form['old_og_content_type_usage'] = array(
     '#type' => 'value',
@@ -2055,9 +2060,10 @@ function og_node_type($op, $info) {
 
 function og_types_map() {
   $usages = array(
-    'group' => t('Group node'),
     'omitted' => t('May not be posted into a group.'),
-    'group_post_standard' => t('Standard group post (typically only author may edit).')
+    'group' => t('Group node'),
+    'group_post_group' => t('Group node which can also be posted into an existing group'),
+    'group_post_standard' => t('Standard group post (typically only author may edit).'),
   );
 
   if (module_exists('og_access')) {
@@ -2072,7 +2078,12 @@ function og_get_types($usage) {
   $types = node_get_types();
   foreach ($types as $type) {
     if ($usage == 'group_post') {
-      if (!og_is_omitted_type($type->type) && !og_is_group_type($type->type)) {
+      if (og_is_group_post_type($type->type)) {
+        $return[$usage][] = $type->type;
+      }
+    }
+    else if ($usage == 'group') {
+      if (og_is_group_type($type->type)) {
         $return[$usage][] = $type->type;
       }
     }
@@ -2108,7 +2119,8 @@ function og_is_omitted_type($type) {
  * @return boolean
  */
 function og_is_group_type($type) {
-  return variable_get('og_content_type_usage_'. $type, 'omitted') == 'group';
+  $mode = variable_get('og_content_type_usage_'. $type, 'omitted');
+  return $mode == 'group' || $mode == 'group_post_group';
 }
 
 /**
@@ -2452,4 +2464,4 @@ function og_check_token($token, $seed) {
  */
 function og_broadcast_access($node) {
   return og_is_group_admin($node) && module_exists('og_notifications');
-}
\ No newline at end of file
+}
