diff -urp old/og_vocab.module new/og_vocab.module
--- old/og_vocab.module	2008-08-05 16:18:38.000000000 +0300
+++ new/og_vocab.module	2008-08-31 16:18:35.703125000 +0300
@@ -223,7 +223,16 @@ function og_vocab_form_alter(&$form, $fo
     case (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id):
       if (isset($form['taxonomy'])) {
         // remove from node form those vocabs that belong to groups other than us (if we even have a group)
-        $groupnode = og_get_group_context();
+        $groupnode = og_get_group_context();
+        // If user is a member of only a single group and audience is required 
+        // then we pass the single group.
+        if (!$groupnode && variable_get('og_audience_required', 0) == 1) {
+          global $user;
+          if (count($user->og_groups) == 1) {
+            $current = current($user->og_groups);
+            $groupnode = node_load($current['nid']);  
+          }
+        }
         $where = "(v.module = 'og_vocab' AND ov.nid != %d)";
         $sql = "SELECT v.vid, v.tags FROM {vocabulary} v LEFT JOIN {og_vocab} ov ON v.vid = ov.vid WHERE $where";
         $result = db_query($sql, $groupnode->nid);
