diff --git a/spaces_og/plugins/space_og.inc b/spaces_og/plugins/space_og.inc
index 71f2576..04e3a8a 100644
--- a/spaces_og/plugins/space_og.inc
+++ b/spaces_og/plugins/space_og.inc
@@ -85,9 +85,15 @@ class space_og extends space_type_purl {
     global $user;
     $account = isset($account) ? $account : $user;
 
+    if (arg(0) == 'node' && is_numeric($nid = arg(1)) && !arg(2)) {
+      //check if node is specifically set to be public
+      $public_node = db_result(db_query("SELECT og_public FROM {og_access_post} WHERE nid = %d", $nid));
+    }
+
     // Only allow access if: user can administer OG, group is public,
-    // or user is a member.
-    $access = $access && (user_access('administer organic groups') || !$this->group->og_private || og_is_group_member($this->id, TRUE, $account->uid));
+    // or user is a member, or post is set to public
+    $access = $access && (user_access('administer organic groups') || !$this->group->og_private || og_is_group_member($this->id, TRUE, $account->uid) || $public_node);
+
 
     // Additional check for group membership if authoring content in this group.
     if ($op === 'create') {
