diff --git a/hide_submit.js b/hide_submit.js
index d6dcc52..9ae8afb 100644
--- a/hide_submit.js
+++ b/hide_submit.js
@@ -26,13 +26,13 @@ Drupal.behaviors.hideSubmitBlockit = {
         });
 
         if (inp && settings.hide_submit_atext) {
-          inp.after('<span>' + Drupal.checkPlain(settings.hide_submit_atext) + '</span>');
+          inp.after('<span class="hide-submit-text">' + Drupal.checkPlain(settings.hide_submit_atext) + '</span>');
         }
       }
       else {
-        var pdiv = '<div' + (settings.hide_submit_hide_css?' class="' + Drupal.checkPlain(settings.hide_submit_hide_css) + '"':'') + '>' + Drupal.checkPlain(settings.hide_submit_hide_text) + '</div>';
+        var pdiv = '<div class="hide-submit-text' + (settings.hide_submit_hide_css ? ' ' + Drupal.checkPlain(settings.hide_submit_hide_css) + '"' : '') + '>' + Drupal.checkPlain(settings.hide_submit_hide_text) + '</div>';
         if (settings.hide_submit_hide_fx) {
-          $('input.form-submit', $(this)).fadeOut(100).eq(0).after(pdiv);
+          $('input.form-submit', $(this)).addClass(settings.hide_submit_css).fadeOut(100).eq(0).after(pdiv);
           $('input.form-submit', $(this)).next().fadeIn(100);
         }
         else {
@@ -41,6 +41,24 @@ Drupal.behaviors.hideSubmitBlockit = {
       }
       return true;
     });
+
+    // Bind to clientsideValidationFormHasErrors to support clientside validation.
+    $(document).bind('clientsideValidationFormHasErrors', function(event, form) {
+      var settings = Drupal.settings.hide_submit;
+      if (settings.hide_submit_method == 'disable') {
+        $('input.' + Drupal.checkPlain(settings.hide_submit_css), form.form)
+          .removeClass(Drupal.checkPlain(settings.hide_submit_hide_css))
+          .removeAttr('disabled');
+        $('.hide-submit-text', form.form).remove();
+      }
+      else {
+        $('input.' + Drupal.checkPlain(settings.hide_submit_css), form.form)
+          .stop()
+          .removeClass(Drupal.checkPlain(settings.hide_submit_hide_css))
+          .show();
+        $('.hide-submit-text', form.form).remove();
+      }
+    });
   }
 };
 
