diff --git a/drupal/sites/all/modules/contrib/cck_private_fields/cck_private_fields.module b/drupal/sites/all/modules/contrib/cck_private_fields/cck_private_fields.module
index 137b94e..ec567ae 100644
--- a/drupal/sites/all/modules/contrib/cck_private_fields/cck_private_fields.module
+++ b/drupal/sites/all/modules/contrib/cck_private_fields/cck_private_fields.module
@@ -18,6 +18,7 @@
 define('CCK_FIELDS_PRIVACY_STATUS_PUBLIC', 0);
 define('CCK_FIELDS_PRIVACY_STATUS_HIDDEN', 1);
 define('CCK_FIELDS_PRIVACY_STATUS_PRIVATE', 2);
+define('CCK_FIELDS_PRIVACY_STATUS_GROUP', 3);
 
 /**
  * Implementation of hook_init().
diff --git a/drupal/sites/all/modules/contrib/cck_private_fields/includes/admin.inc b/drupal/sites/all/modules/contrib/cck_private_fields/includes/admin.inc
index 4bb5cfa..0bddebb 100644
--- a/drupal/sites/all/modules/contrib/cck_private_fields/includes/admin.inc
+++ b/drupal/sites/all/modules/contrib/cck_private_fields/includes/admin.inc
@@ -21,6 +21,9 @@ function _cck_private_fields_content_field_edit_form_alter(&$form) {
   if (cck_private_fields_get_private_field_access_module()) {
     $privacy_status_options[CCK_FIELDS_PRIVACY_STATUS_PRIVATE] = t('Enabled and %status by default', array('%status' => t('Private')));
   }
+  if (module_exists('og')) {
+    $privacy_status_options[CCK_FIELDS_PRIVACY_STATUS_GROUP] = t('Enabled and %status by default', array('%status' => t('Group')));
+  }
 
   $form['field']['cck_private_fields'] = array(
     '#type' => 'fieldset',
diff --git a/drupal/sites/all/modules/contrib/cck_private_fields/includes/diff.inc b/drupal/sites/all/modules/contrib/cck_private_fields/includes/diff.inc
index 0d40adb..11aa95d 100644
--- a/drupal/sites/all/modules/contrib/cck_private_fields/includes/diff.inc
+++ b/drupal/sites/all/modules/contrib/cck_private_fields/includes/diff.inc
@@ -45,6 +45,7 @@ function _cck_private_fields_build_diff_entry(&$result, $field_name, $node, $old
     CCK_FIELDS_PRIVACY_STATUS_PUBLIC => t('Public'),
     CCK_FIELDS_PRIVACY_STATUS_HIDDEN => t('Hidden'),
     CCK_FIELDS_PRIVACY_STATUS_PRIVATE => t('Private'),
+    CCK_FIELDS_PRIVACY_STATUS_GROUP => t('Group'),
   );
 
   // Obtain information about this particular field.
diff --git a/drupal/sites/all/modules/contrib/cck_private_fields/includes/field_access.inc b/drupal/sites/all/modules/contrib/cck_private_fields/includes/field_access.inc
index 6d4bb73..8779426 100644
--- a/drupal/sites/all/modules/contrib/cck_private_fields/includes/field_access.inc
+++ b/drupal/sites/all/modules/contrib/cck_private_fields/includes/field_access.inc
@@ -84,6 +84,11 @@ function _cck_private_fields_field_view_access($field, $account, $node) {
   elseif ($field_privacy_status == CCK_FIELDS_PRIVACY_STATUS_PRIVATE) {
     return cck_private_fields_invoke_view_access($field, $cloned_node, $account);
   }
+  elseif ($field_privacy_status == CCK_FIELDS_PRIVACY_STATUS_GROUP) {
+    $allow_friends = cck_private_fields_invoke_view_access($field, $cloned_node, $account);
+    $author = user_load(array('uid' => $cloned_node->uid));
+    return (bool)array_intersect_key($author->og_groups, $account->og_groups) || $allow_friends;
+  }
 
   // Reached this point, field is public.
   return TRUE;
diff --git a/drupal/sites/all/modules/contrib/cck_private_fields/includes/node_form.inc b/drupal/sites/all/modules/contrib/cck_private_fields/includes/node_form.inc
index ec7b692..b9a4bbf 100644
--- a/drupal/sites/all/modules/contrib/cck_private_fields/includes/node_form.inc
+++ b/drupal/sites/all/modules/contrib/cck_private_fields/includes/node_form.inc
@@ -45,6 +45,14 @@ function _cck_private_fields_node_form_alter(&$form, &$form_state, $private_fiel
     );
   }
 
+  if (module_exists('og')) {
+    $privacy_status_options[CCK_FIELDS_PRIVACY_STATUS_GROUP] = array(
+      'name' => t('Groups and Friends'),
+      'class' => 'cck-private-field-status-icon-group',
+      'label' => t('Groups and Friends - visible to you and your groups and your friends.'),
+    );
+  }
+
   // Make sure Drupal settings are not sent more than once per page.
   if (!isset($js_settings_processed)) {
     $js_settings = array(
