diff -urp /home/data/drupal/installations/eea/tabs/tabs.js tabs/tabs.js
--- /home/data/drupal/installations/eea/tabs/tabs.js	2010-01-18 19:11:21.000000000 +1100
+++ tabs/tabs.js	2010-05-10 14:05:36.231392489 +1000
@@ -4,7 +4,7 @@ Drupal.tabs = Drupal.tabs || {};
 
 Drupal.behaviors.tabs = function (context) {
   // Set the active class to the first tab with an form error.
-  $('.drupal-tabs').children('ul > li').each( function() {
+  $('.drupal-tabs').find('.tabset-tab').each( function() {
     if ($($(this).find('a').attr('href')).find('div.form-item .error:first').size()) {
       $(this).addClass('error').addClass('ui-tabs-selected');
     }
@@ -20,12 +20,12 @@ Drupal.behaviors.tabs = function (contex
   // Process custom tabs.
   var selected = null;
   $('.drupal-tabs:not(.tabs-processed)', context)
-    .find('> ul')
+    .find('.tab-container')
     .tabs({
       spinner: Drupal.t('Loading...'),
       // Add the 'active' class when showing tabs and remove it from siblings.
       show: function(event, ui) {
-        $(ui.tab).parent('li').addClass('active').siblings('li').removeClass('active');
+        $(ui.tab).parent('.tabset-tab').addClass('active').siblings('.tabset-tab').removeClass('active');
       },
       fx: fx
     })
@@ -35,10 +35,10 @@ Drupal.behaviors.tabs = function (contex
       var newClass = $(this).parents('.drupal-tabs').size() > 1 ? 'secondary' : 'primary';
       $(this)
         .addClass(newClass)
-        .find('>li:first')
+        .find('.tabset-tab:first')
         .addClass('first')
         .end()
-        .find('>li:last')
+        .find('.tabset-tab:last')
         .addClass('last');
     })
     .after('<span class="clear"></span>')
@@ -55,7 +55,7 @@ Drupal.behaviors.tabs = function (contex
 Drupal.tabs.tabsNavigation = function(elt) {
   // Extract tabset name.
   var tabsetName = $(elt).get(0).id.substring(5);
-  var $tabs = $('> ul', elt);
+  var $tabs = $('.tab-container', elt);
   var i = 1;
   var $tabsContent = $('div.tabs-' + tabsetName, elt);
   var count = $tabsContent.size();
@@ -64,7 +64,7 @@ Drupal.tabs.tabsNavigation = function(el
       $(this).append('<span class="clear"></span><div class="tabs-nav-link-sep"></div>');
     }
     if (i > 1) {
-      var previousText = '‹ ' + (Drupal.settings.tabs.navigation_titles ? $tabs.find('> li:eq(' + parseInt(i - 2) + ')').text() : Drupal.settings.tabs.previous_text);
+      var previousText = '‹ ' + (Drupal.settings.tabs.navigation_titles ? $tabs.find('.tabset-tab:eq(' + parseInt(i - 2) + ')').text() : Drupal.settings.tabs.previous_text);
       var link = $(document.createElement('a'))
         .append('<span>' + previousText + '</span>')
         .attr('id', 'tabs-' + tabsetName + '-previous-link-' + i)
@@ -78,7 +78,7 @@ Drupal.tabs.tabsNavigation = function(el
       $(this).append(link);
     }
     if (i < count) {
-      var nextText = (Drupal.settings.tabs.navigation_titles ? $tabs.find('> li:eq(' + parseInt(i) + ')').text() : Drupal.settings.tabs.next_text) + ' ›';
+      var nextText = (Drupal.settings.tabs.navigation_titles ? $tabs.find('.tabset-tab:eq(' + parseInt(i) + ')').text() : Drupal.settings.tabs.next_text) + ' ›';
       var link = $(document.createElement('a'))
         .append('<span>' + nextText + '</span>')
         .attr('id', 'tabs-' + tabsetName + '-next-button-' + i)
diff -urp /home/data/drupal/installations/eea/tabs/tabs.theme.inc tabs/tabs.theme.inc
--- /home/data/drupal/installations/eea/tabs/tabs.theme.inc	2010-01-18 18:03:44.000000000 +1100
+++ tabs/tabs.theme.inc	2010-05-10 12:46:05.281395423 +1000
@@ -14,7 +14,7 @@
 function theme_tabset($element) {
   $output = '<div id="tabs-'. $element['#tabset_name'] .'"'. drupal_attributes($element['#attributes']) .'>';
   $output .= '<div class="description">'. $element['#description'] .'</div>';
-  $output .= '<ul class="clear-block">';
+  $output .= '<ul class="tab-container clear-block">';
   foreach (element_children($element) as $key) {
     if (isset($element[$key]['#type']) && $element[$key]['#type'] == 'tabpage') {
       // Ensure the tab has content before rendering it.
@@ -23,6 +23,7 @@ function theme_tabset($element) {
         (isset($element[$key]['#content']) && !empty($element[$key]['#content'])) ||
         (isset($element[$key]['#children']) && !empty($element[$key]['#children']))
       ) {
+        $element[$key]['#attributes']['class'] .= ' tabset-tab';
         $output .= '<li'. drupal_attributes($element[$key]['#attributes']) .'><a href="' . $element[$key]['#url'] . '"><span class="tab">'. $element[$key]['#title'] .'</span></a></li>';
       }
     }
diff -urp /home/data/drupal/installations/eea/tabs/ui.tabs.js tabs/ui.tabs.js
--- /home/data/drupal/installations/eea/tabs/ui.tabs.js	2009-08-17 07:12:45.000000000 +1000
+++ tabs/ui.tabs.js	2010-05-10 14:54:15.401394776 +1000
@@ -71,8 +71,7 @@ $.widget("ui.tabs", {
 	},
 
 	_tabify: function(init) {
-
-		this.$lis = $('li:has(a[href])', this.element);
+    this.$lis = $('.tabset-tab:has(a[href])', this.element);
 		this.$tabs = this.$lis.map(function() { return $('a', this)[0]; });
 		this.$panels = $([]);
 
@@ -241,7 +240,7 @@ $.widget("ui.tabs", {
 		this.$tabs.unbind('.tabs').bind(o.event + '.tabs', function() {
 
 			//var trueClick = event.clientX; // add to history only if true click occured, not a triggered click
-			var $li = $(this).parents('li:eq(0)'),
+      var $li = $(this).parents('.tabset-tab:eq(0)'),
 				$hide = self.$panels.filter(':visible'),
 				$show = $(self._sanitizeSelector(this.hash));
 
