--- ./drupal_cvs/webform.inc	2005-03-02 15:00:50.188585600 +1100
+++ ./webform.inc	2005-03-03 21:36:28.760636800 +1100
@@ -673,6 +673,12 @@
             $multiple_choice = false;		// ie Radio Buttons
           }

+          if($extra_data['aslist'] == 'Y'){
+            $aslist = true;   // ie List Box and thus implying lot's of choices
+          } else {
+            $aslist = false;
+          }
+
           $choices = explode("\n", _webform_filtervalues($extra_data['items']));

           if(is_array($choices)){
@@ -691,10 +697,16 @@
               $row[3] = '';

               $shadow_row['raw_tally'] = 0;	// Raw tallies are always kept
-
               $rows[$key] = $row;
-              $shadow_rows[$key] = $shadow_row;

+              if($aslist) {
+                $shadow_row['do_not_display'] = true;
+              }
+              else {
+                $shadow_row['do_not_display'] = false;
+              }
+
+              $shadow_rows[$key] = $shadow_row;
               // Populate the Covariance Matrix index lookup array if required
               if(in_array('c',$views_switches)) $cm_index[$key] = $row[0];

@@ -717,7 +729,7 @@
               $key = "$question_name".trim($check);

               $shadow_rows[$key]['raw_tally']++;
-
+              $shadow_rows[$key]['do_not_display'] = false;
               if(in_array('c',$views_switches)){
                 $covariance_records[$cm_index[$key]][] = $field->sid;
                 $covariance_records[$field->sid][$cm_index[$key]] = true;
@@ -742,7 +754,7 @@
         // Handling normal radio buttons
         $key = "$question_name".trim($field->data);
         $shadow_rows[$key]['raw_tally']++;
-
+        $shadow_rows[$key]['do_not_display'] = false;
         if(in_array('c',$views_switches)){
           $covariance_records[$cm_index[$key]][] = $field->sid;
           $covariance_records[$field->sid][$cm_index[$key]] = true;
@@ -757,23 +769,18 @@
       end($rows);
       unset($key);
     }
-    if (($previous != -1) && ($previous != $field->sid)) {
-      //$rows[] = array_merge(array($previous), $cell);
-      //unset($cell);
-      //$first = false;
-    }
-
-    if ( $field->name == '__timestamp' ) {
-      //$cell[] = format_date($field->data, 'small');
-    } else if ( unserialize($field->data) ) {
-      //$cell[] = theme('item_list', unserialize($field->data));
-    } else {
-      //$cell[] = $field->data;
-    }
-    //$previous = $field->sid;

   } //end main loop

+  // Remove any rows that should not be display, ie have had $shadow_rows[$key]['do_not_display'] set to true
+
+  foreach($shadow_rows as $skey => $shadow_row){
+    if($shadow_row['do_not_display']){
+      // Extract element from rows[] here
+      unset($rows[$skey]);
+    }
+  }
+
   // Display the Results Table
   $box_content = "<br>";
   $box_content .= theme('table', $header, $rows);
