diff --git a/lib/form/form.js b/lib/form/form.js
index 140a475..75caa66 100644
--- a/lib/form/form.js
+++ b/lib/form/form.js
@@ -239,6 +239,9 @@ M.form.initFormDependencies = function(Y, formid, dependencies) {
                     if (this.getAttribute('type').toLowerCase()=='radio' && this.get('value') != value) {
                         return;
                     }
+                    if (this.getAttribute('type').toLowerCase()=='hidden') {
+                        return;
+                    }
                     lock = lock || !Y.Node.getDOMNode(this).checked;
                 });
                 return {
@@ -252,6 +255,9 @@ M.form.initFormDependencies = function(Y, formid, dependencies) {
                     if (this.getAttribute('type').toLowerCase()=='radio' && this.get('value') != value) {
                         return;
                     }
+                    if (this.getAttribute('type').toLowerCase()=='hidden') {
+                        return;
+                    }
                     lock = lock || Y.Node.getDOMNode(this).checked;
                 });
                 return {
@@ -271,10 +277,15 @@ M.form.initFormDependencies = function(Y, formid, dependencies) {
             },
             _dependency_eq : function(elements, value) {
                 var lock = false;
+                var hidden_val = false;
                 elements.each(function(){
                     if (this.getAttribute('type').toLowerCase()=='radio' && !Y.Node.getDOMNode(this).checked) {
                         return;
+                    } else if (this.getAttribute('type').toLowerCase() == 'hidden') {
+                        hidden_val = (this.get('value') == value);
+                        return;
                     } else if (this.getAttribute('type').toLowerCase() == 'checkbox' && !Y.Node.getDOMNode(this).checked) {
+                        lock = lock || hidden_val;
                         return;
                     }
                     lock = lock || this.get('value') == value;
@@ -292,10 +303,15 @@ M.form.initFormDependencies = function(Y, formid, dependencies) {
             },
             _dependency_default : function(elements, value, ev) {
                 var lock = false;
+                var hidden_val = false;
                 elements.each(function(){
                     if (this.getAttribute('type').toLowerCase()=='radio' && !Y.Node.getDOMNode(this).checked) {
                         return;
+                    } else if (this.getAttribute('type').toLowerCase() == 'hidden') {
+                        hidden_val = (this.get('value') != value);
+                        return;
                     } else if (this.getAttribute('type').toLowerCase() == 'checkbox' && !Y.Node.getDOMNode(this).checked) {
+                        lock = lock || hidden_val;
                         return;
                     }
                     lock = lock || this.get('value') != value;
