diff --git a/source/NVDAObjects/IAccessible/MSHTML.py b/source/NVDAObjects/IAccessible/MSHTML.py
index 67cc2bd5cca..c7508467936 100644
--- a/source/NVDAObjects/IAccessible/MSHTML.py
+++ b/source/NVDAObjects/IAccessible/MSHTML.py
@@ -622,7 +622,7 @@ def _get_states(self):
states.add(controlTypes.STATE_COLLAPSED)
ariaInvalid=self.HTMLAttributes['aria-invalid']
if ariaInvalid=="true":
- states.add(controlTypes.STATE_INVALID)
+ states.add(controlTypes.STATE_INVALID_ENTRY)
ariaGrabbed=self.HTMLAttributes['aria-grabbed']
if ariaGrabbed=="true":
states.add(controlTypes.STATE_DRAGGING)
diff --git a/source/virtualBuffers/MSHTML.py b/source/virtualBuffers/MSHTML.py
index 4b3b8fba8ff..b2312ec3c11 100644
--- a/source/virtualBuffers/MSHTML.py
+++ b/source/virtualBuffers/MSHTML.py
@@ -94,7 +94,7 @@ def _normalizeControlField(self,attrs):
elif ariaExpanded=="false":
states.add(controlTypes.STATE_COLLAPSED)
if attrs.get('HTMLAttrib::aria-invalid','false')=='true':
- states.add(controlTypes.STATE_INVALID)
+ states.add(controlTypes.STATE_INVALID_ENTRY)
if attrs.get('HTMLAttrib::aria-multiline','false')=='true':
states.add(controlTypes.STATE_MULTILINE)
if attrs.get('HTMLAttrib::aria-dropeffect','none')!='none':
diff --git a/user_docs/en/changes.t2t b/user_docs/en/changes.t2t
index 3ccdf7c9c48..7ec2dc927ba 100644
--- a/user_docs/en/changes.t2t
+++ b/user_docs/en/changes.t2t
@@ -7,6 +7,7 @@
== Bug Fixes ==
- Correct characters are produced when typing in NVDA's own user interface while using a Korean or Japanese input method while it is the default method. (#2909)
+- In Internet Explorer and other MSHTML controls, fields marked as containing an invalid entry are now handled correctly. (#3256)
= 2013.1 =