--- mailchimp.admin.inc	2010-06-28 17:07:22.000000000 -0700
+++ mailchimp.admin.inc.updated	2010-11-08 21:28:56.015625000 -0800
@@ -231,9 +231,44 @@ function mailchimp_admin_settings_valida
   if(empty($form_state['values']['mailchimp_lists'])){
     return;
   }
-
+  
+  //variable set to figure out if FALSE should be returned in case of required value not set
+  $return = TRUE;
+  //obtain the api key
+  $api_key = variable_get('mailchimp_api_key', FALSE);
+  if ($api_key) {
+  	//obtain q for use in accessing all the api information. Used to checked for required mergevars
+    $q = new MCAPI($api_key);
+  }
+  
+  $error_array = array();
   $lists = array();
   foreach ($form_state['values']['mailchimp_lists'] as $form_list) {
+  	$check_merge_variables = FALSE;
+  	foreach ($form_list['roles'] as $role) {
+  		if ($role == 1) {
+  			$check_merge_variables = TRUE;
+  			break;
+  		}
+  	}
+  	if ($check_merge_variables) {
+  		//obtain the list of merge variables for this list
+  		$mergevars = $q->listMergeVars($form_list['list_id']);
+  		foreach ($mergevars as $mergevar) {
+  			//EMAIL has to be required, and is not necessary to check. Already hidden from view	
+				if ($mergevar['tag'] !== 'EMAIL') {
+					//This mergevar is listed as required. Let's check to see if an option was set for this variable
+					//Checking to see if the mergevar is required, and <none> was set (meaning that it will be null
+					if ($mergevar['req'] == 1 && $form_list['mergevars'][$mergevar['tag']] == 0) {
+						//I am attempting to set the error on the form element, but is not working correctly
+						form_set_error($form['mailchimp_lists']['mailchimp_list_'. $form_list['list_id']]['mergevars'][$mergevar['tag']]['#name'], $form_list['name'] .' has a required value for field \''. $mergevar['name'] .'\'. Not setting this will prevent users from registering to the newsletter');
+						//since null will be set for a required value, will be setting an error for this field, and returning false
+						
+						$return = FALSE;
+					}
+				}
+  		}
+  	}
     $list = new stdClass();
     $list->id = $form_list['list_id'];
     $list->name = $form_list['name'];
