diff --git a/lang/en_utf8/adobeconnect.php b/lang/en_utf8/adobeconnect.php
index 0ef2488..f568b2f 100644
--- a/lang/en_utf8/adobeconnect.php
+++ b/lang/en_utf8/adobeconnect.php
@@ -102,5 +102,7 @@ $string['longurl'] = 'That meeting URL is too long. Try shortening it';
 $string['errorrecording'] = 'Unable to find recording session';
 $string['meetinfo'] = 'More Meeting Detail';
 $string['meetinfotxt'] = 'See server meeting details';
-$string['invalidgroupmode'] = 'Your course (or selected grouping) has no groups. Please configure groups or select \'No groups\''
+$string['invalidgroupmode'] = 'Your course (or selected grouping) has no groups. Please configure groups or select \'No groups\'';
+$string['shortengroupnames'] = 'Course group names are too long (longest is $a[max] characters). Total length of Meeting title (which will have group name appended) cannot exceed $a[maxallowed] characters.';
+$string['invalidnamelength'] = 'Meeting title cannot exceed $a characters due to the length of group names in use.'
 ?>
\ No newline at end of file
diff --git a/mod_form.php b/mod_form.php
index 47d94bb..94bd7d8 100644
--- a/mod_form.php
+++ b/mod_form.php
@@ -38,11 +38,11 @@ class mod_adobeconnect_mod_form extends moodleform_mod {
     /// Adding the "general" fieldset, where all the common settings are showed
         $mform->addElement('header', 'general', get_string('general', 'form'));
 
-    /// Adding the standard "name" field
+    /// Adding the standard "name" field - limit of 60 chars on Adobe Connect server
         $mform->addElement('text', 'name', get_string('adobeconnectname', 'adobeconnect'), array('size'=>'64'));
         $mform->setType('name', PARAM_TEXT);
         $mform->addRule('name', null, 'required', null, 'client');
-        $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
+        $mform->addRule('name', get_string('maximumchars', '', 60), 'maxlength', 60, 'client');
 
     /// Adding the required "intro" field to hold the description of the instance
         $mform->addElement('htmleditor', 'intro', get_string('adobeconnectintro', 'adobeconnect'));
@@ -198,12 +198,37 @@ class mod_adobeconnect_mod_form extends moodleform_mod {
                 return $errors;
             }
 
-            // Check that the course has groups if group mode is on
-            if (0 != $data['groupmode']) { // Allow for multiple groups
+            // Need to be aware that groupings might not be turned on
+            if (!isset($data['groupingid']) || !$data['groupingid']) {
+                $groupingid = 0;
+            } else {
+                $groupingid = $data['groupingid'];
+            }
+
+            // Check that the course (or selected grouping) has groups if group mode is on
+            if (0 != $data['groupmode']) { // Only for group mode
                 // get all groups for the course
-                $crsgroups = groups_get_all_groups($COURSE->id);
+                $crsgroups = groups_get_all_groups($COURSE->id, 0, $groupingid);
                 if (empty($crsgroups)) {
                     $errors['groupmode'] = get_string('invalidgroupmode', 'adobeconnect');
+                    return $errors;
+                }
+            }
+
+            // Check that meeting title is not too long in group mode (need to take into account group name length)
+            if (0 != $data['groupmode']) { // Only for group mode
+                // get all groups for the course
+                $crsgroupsmaxnamelength = groups_get_all_groups($COURSE->id, 0, $groupingid);
+                array_walk($crsgroupsmaxnamelength, create_function('&$val', '$val = strlen($val->name);'));
+                //maximum course name is (meetingname - (1 + maxgroupnamelength))
+                $maxnamelength = 60 - 1 - max($crsgroupsmaxnamelength);
+
+                if (strlen($data['name']) > $maxnamelength) {
+                    if ($maxnamelength <1) {
+                        $errors['name'] = get_string('shortengroupnames', 'adobeconnect', array('max'=>max($crsgroupsmaxnamelength), 'maxallowed'=>60));
+                    } else {
+                        $errors['name'] = get_string('invalidnamelength', 'adobeconnect', $maxnamelength);
+                    }
                 }
             }
 
