--- og_content_type_admin.module.orig	2010-01-05 16:41:36.000000000 +0100
+++ og_content_type_admin.module	2010-01-05 16:44:04.000000000 +0100
@@ -1095,11 +1095,31 @@ function og_content_type_admin_form_alte
   }
   elseif (isset($form['type']) && $form['type']['#value']. '_node_form' == $form_id) {
     $group = new stdClass;  // used for call _og_content_type_admin_is_admin()
-    if (!empty($form['og_nodeapi']['visible']['og_groups']['#options'])) {
-      foreach ($form['og_nodeapi']['visible']['og_groups']['#options'] as $nid => $name) {
+    if (!empty($form['og_nodeapi']['visible']['og_groups']['#options']['My groups'])) {
+      foreach ($form['og_nodeapi']['visible']['og_groups']['#options']['My groups'] as $nid => $name) {
+      	//see if they can add this content-type for this group
+        $group->nid = $nid;
+        if (_og_content_type_admin_is_admin($group)) {
+          continue;
+        }
+        else {
+          //see if they are allowed to add this content type
+          $sql = "SELECT octa.types_active FROM {og_content_type_admin} octa WHERE octa.gid = %d";
+          if (!$result = db_fetch_object(db_query($sql, $nid))) {
+            $result = db_fetch_object(db_query($sql, 0));
+          }
+          $activated_types = unserialize($result->types_active);
+          if (empty($activated_types[ $form['type']['#value'] ])) {
+            unset($form['og_nodeapi']['visible']['og_groups']['#options']['My groups'][$nid]); // remove the checkbox to add this content to the og
+          }
+        }
+      }
+    }
+    if (!empty($form['og_nodeapi']['visible']['og_groups']['#options']['Other groups'])) {
+      foreach ($form['og_nodeapi']['visible']['og_groups']['#options']['Other groups'] as $nid => $name) {
         //see if they can add this content-type for this group
         $group->nid = $nid;
-        if (_og_content_type_admin_is_admin($group)) { 
+        if (_og_content_type_admin_is_admin($group)) {
           continue;
         }
         else {
