diff -Nru uc_dependent_attributes.current/uc_dependent_attributes.module uc_dependent_attributes/uc_dependent_attributes.module
--- uc_dependent_attributes.current/uc_dependent_attributes.module	2009-12-15 20:58:53.000000000 +0100
+++ uc_dependent_attributes/uc_dependent_attributes.module	2010-07-21 18:11:24.000000000 +0200
@@ -137,6 +137,16 @@
   if (!empty($combos[$aid][$oid])) {
     _uc_dependent_attributes_filter($combos[$aid][$oid], $selected, $attributes);
   }
+  else {
+	// Check the next valid oid
+	$next_oid = key($combos[$aid]);
+	if(!empty($combos[$aid][$next_oid])) {
+		// Selected value was not permitted, switch to the first available
+		$attributes[$aid]->default_option = $next_oid;
+		$selected[$aid] = $next_oid;
+		_uc_dependent_attributes_filter($combos[$aid][$next_oid], $selected, $attributes);	
+	}
+  }
 
   // Remove disabled attribute options from the form
   foreach ($attributes[$aid]->options as $oid => $option) {
