diff --git a/dlls/mshtml/htmlcurstyle.c b/dlls/mshtml/htmlcurstyle.c
index 32f5281477a..a7daf4b2c38 100644
--- a/dlls/mshtml/htmlcurstyle.c
+++ b/dlls/mshtml/htmlcurstyle.c
@@ -592,8 +592,8 @@ static HRESULT WINAPI HTMLCurrentStyle_get_borderCollapse(IHTMLCurrentStyle *ifa
static HRESULT WINAPI HTMLCurrentStyle_get_direction(IHTMLCurrentStyle *iface, BSTR *p)
{
HTMLCurrentStyle *This = impl_from_IHTMLCurrentStyle(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ TRACE("(%p)->(%p)\n", This, p);
+ return get_nsstyle_attr(This->nsstyle, STYLEID_DIRECTION, p, 0);
}
static HRESULT WINAPI HTMLCurrentStyle_get_behavior(IHTMLCurrentStyle *iface, BSTR *p)
diff --git a/dlls/mshtml/tests/style.c b/dlls/mshtml/tests/style.c
index 57207dec38a..7fc04a485ef 100644
--- a/dlls/mshtml/tests/style.c
+++ b/dlls/mshtml/tests/style.c
@@ -2942,6 +2942,11 @@ static void test_current_style(IHTMLCurrentStyle *current_style)
ok(!strcmp_wa(str, "hidden"), "overflowY = %s\n", wine_dbgstr_w(str));
SysFreeString(str);
+ hres = IHTMLCurrentStyle_get_direction(current_style, &str);
+ ok(hres == S_OK, "get_direction failed: %08x\n", hres);
+ ok(!strcmp_wa(str, "ltr"), "direction = %s\n", wine_dbgstr_w(str));
+ SysFreeString(str);
+
current_style2 = get_current_style2_iface((IUnknown*)current_style);
b = 100;