--- fileserver.module
+++ fileserver.module
@@ -666,12 +666,24 @@
         }
       }
     }
-
+    //check for private group
+    if (!is_null($og_groups)) {
+      foreach ($og_groups as $group) {
+          $group_node = new stdClass();
+          $group_node->nid = $group;
+          og_load_group($group_node);
+          if ($group_node->og_private) {
+            $public=FALSE;
+            }
+        } 
+     }
+     
     // actually create the file node
     $node = file_node_create(array(
       'file'      => $node->file,
       'taxonomy'  => array($tid),
       'og_groups' => $og_groups,
+      'og_public' => $public,
     ));
 
     return (bool)$node;
