diff --git a/template.php b/template.php
index d859c73..6bc0dd9 100644
--- a/template.php
+++ b/template.php
@@ -596,6 +596,20 @@ function _rubik_icon_classes($path) {
  */
 function _rubik_filter_form_alter(&$form) {
   $found = FALSE;
+  $multiple_fields = FALSE;
+  $fields = $form['#fields'];
+
+  // Unlimited value CCK fields should not be altered
+  // to avoid breaking the AHAH drag n drop and 'Add more'
+  // functionality.
+  if (isset($form['#field_name'])) {
+    $field_name = $form['#field_name'];
+    $field = content_fields($field_name);
+    if ($field['multiple'] > 0) {
+      $multiple_fields = TRUE;
+    }
+  }
+
   foreach (element_children($form) as $id) {
     // Filter form element found
     if (
@@ -603,12 +617,18 @@ function _rubik_filter_form_alter(&$form) {
       is_array($form[$id]['#element_validate']) &&
       in_array('filter_form_validate', $form[$id]['#element_validate'])
     ) {
+      if ($multiple_fields === TRUE) {
+        continue;
+      }
       $form[$id]['#type'] = 'markup';
       $form[$id]['#theme'] = 'filter_form';
       $found = TRUE;
     }
     // Formatting guidelines element found
     elseif ($id == 'format' && !empty($form[$id]['format']['guidelines'])) {
+      if ($multiple_fields === TRUE) {
+        continue;
+      }
       $form[$id]['#theme'] = 'filter_form';
       $found = TRUE;
     }
