diff -urp includes/og.rules.inc includes/og.rules.inc
--- includes/og.rules.inc	2008-10-29 21:57:56.000000000 +0200
+++ includes/og.rules.inc	2008-11-29 12:49:21.000000000 +0200
@@ -105,6 +105,17 @@ function og_rules_action_info() {
       ),
       'module' => 'Organic groups',
     ),
+    'og_rules_action_add_group_node' => array(
+      'label' => t('Add group node settings to content'),
+      'arguments' => array(
+        'node' => array(
+          'type' => 'node',
+          'label' => t('Content that will become a group node'),
+        ),
+      ),
+      'help' => t("When creating a group node organic groups module requires some group settings. This action should be used after 'Add new content' action, that adds a <a href=\"@group-node-type\">group node type</a> content, and will result with a new group node.", array('@group-node-type' => url('admin/og/og'))),
+      'module' => 'Organic groups',
+    ),    
   );
 }
 
@@ -131,7 +142,6 @@ function og_rules_action_subscribe_user_
   );
 }
 
-
 /**
  * Action: Unsubscribe user from group.
  */
@@ -140,6 +150,32 @@ function og_rules_action_remove_user($us
 }
 
 /**
+ * Action:Add group node settings to content.
+ */
+function og_rules_action_add_group_node($node, $settings) {
+  if (og_is_group_type($node->type)) {
+    // Add og keys to the node.
+  	foreach ($settings['og_fieldset']['og_settings'] as $key => $value){
+      $node->$key = $value;
+    }
+    return array('node' => $node); 
+  } 
+}
+
+/**
+ * Action:Add group node settings to content form.
+ */
+function og_rules_action_add_group_node_form($settings, &$form) {
+  $node = !empty($settings['og_fieldset']['og_settings']) ? $settings['og_fieldset']['og_settings'] : array();
+  $og_form = og_group_form($node, array());
+  $form['settings']['og_fieldset'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Organic groups form settings'),
+  );
+  $form['settings']['og_fieldset']['og_settings'] = $og_form;
+}
+
+/**
  * Implementation of hook_rules_condition_info().
  */
 function og_rules_condition_info() {
diff -urp og.module og.module
--- og.module	2008-11-21 19:09:31.000000000 +0200
+++ og.module	2008-11-29 12:47:15.000000000 +0200
@@ -1311,7 +1311,7 @@ function og_group_form($node, $form_stat
     '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'og_description') : -4,
   );
 
-  $default = isset($node->nid) ? $node->og_selective : OG_OPEN;
+  $default = isset($node->og_selective) ? $node->og_selective : OG_OPEN;
   $options = array(
     t('Open - membership requests are accepted immediately.'),
     t('Moderated - membership requests must be approved.'),
@@ -1352,7 +1352,7 @@ function og_group_form($node, $form_stat
       $form['og_register'] = array(
         '#type' => 'checkbox',
         '#title' => t('Registration form'),
-        '#default_value' => $node->nid ? $node->og_register : $default,
+        '#default_value' => isset($node->og_register) ? $node->og_register : $default,
         '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'og_register') : 0, 
         '#description' =>t('May users join this group during registration? If checked, a corresponding checkbox will be added to the registration form.'),
       );
@@ -1383,7 +1383,7 @@ function og_group_form($node, $form_stat
       $form['og_directory'] = array(
         '#type' => 'checkbox', 
         '#title' => t('List in groups directory'),  
-        '#default_value' => $node->nid ? $node->og_directory : $default, 
+        '#default_value' => isset($node->og_directory) ? $node->og_directory : $default, 
         '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'og_directory') : 0,
         '#description' => t('Should this group appear on the <a href="@url">list of groups page</a> (requires OG Views module)? Disabled if the group is set to <em>private group</em>.', array('@url' => url('og'))));
       break;    
