diff --git a/sites/all/modules/contrib/ife/ife.module b/sites/all/modules/contrib/ife/ife.module
index 069c393..abcdfe3 100644
--- a/sites/all/modules/contrib/ife/ife.module
+++ b/sites/all/modules/contrib/ife/ife.module
@@ -225,7 +225,7 @@ function ife_element_get_error($element, $debug = FALSE) {
     $error_id = array_search($error_message, $_SESSION['messages']['error']);
 
     if ($error_id !== FALSE) {
-      if ($element['#display_type'] != 0) {
+      if ($element['#display_type'] !== 0) {
         unset($_SESSION['messages']['error'][$error_id]);
         $_SESSION['messages']['error'] = array_values($_SESSION['messages']['error']);
       }
@@ -257,6 +257,6 @@ function ife_field_types() {
 function ife_expandable_field_types() {
   $core = array('checkboxes', 'date', 'password_confirm', 'radios');
   $cck = array('date_combo', 'date_popup', 'date_repeat_rrule', 'email_textfield', 'filefield_widget', 'imagefield_widget', 'link', 'nodereference_select', 'nodereference_buttons', 'nodereference_autocomplete', 'number', 'optionwidgets_select', 'optionwidgets_buttons', 'optionwidgets_onoff', 'text_textfield', 'text_textarea', 'userreference_select', 'userreference_buttons', 'userreference_autocomplete', 'userreference_formatter_default', 'userreference_formatter_plain');
-
-  return array_merge($core, $cck);
+  $contrib = array('captcha');
+  return array_merge($core, $cck, $contrib);
 }
\ No newline at end of file
diff --git a/sites/all/modules/contrib/ife/ife.theme.inc b/sites/all/modules/contrib/ife/ife.theme.inc
index 0ccfea2..29e4a1d 100644
--- a/sites/all/modules/contrib/ife/ife.theme.inc
+++ b/sites/all/modules/contrib/ife/ife.theme.inc
@@ -90,6 +90,17 @@ function template_preprocess_ife_form_element(&$vars) {
     }
   }
 
+  // captcha type support
+  if (module_exists('captcha')) {
+    if ($element['#field_type'] == 'captcha') {
+      $element_error = ife_element_get_error($element['captcha_widgets']['captcha_response']);
+      if (trim($element_error)) {
+        $errors[] = $element_error;
+      }
+    }
+  }
+
+
   if (count($errors)) {
     if (count($errors) > 1) {
       $vars['error_message'] = theme('item_list', $errors);
