diff --git a/mozilla/layout/html/forms/src/nsButtonControlFrame.cpp b/mozilla/layout/html/forms/src/nsButtonControlFrame.cpp
index 92b6596583b..931b3591761 100644
--- a/mozilla/layout/html/forms/src/nsButtonControlFrame.cpp
+++ b/mozilla/layout/html/forms/src/nsButtonControlFrame.cpp
@@ -69,7 +69,9 @@ nsButtonControlFrame::GetDefaultLabel(nsString& aString)
PRBool
nsButtonControlFrame::IsSuccessful(nsIFormControlFrame* aSubmitter)
{
- if (this == (aSubmitter)) {
+ PRInt32 type;
+ GetType(&type);
+ if ((NS_FORM_INPUT_HIDDEN == type) || (this == aSubmitter)) {
return nsFormControlFrame::IsSuccessful(aSubmitter);
} else {
return PR_FALSE;