diff --git a/dlls/jscript/string.c b/dlls/jscript/string.c
index 5afbe464d55..862dfb04038 100644
--- a/dlls/jscript/string.c
+++ b/dlls/jscript/string.c
@@ -866,8 +866,8 @@ static HRESULT String_slice(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAM
static HRESULT String_small(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp,
VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp)
{
- FIXME("\n");
- return E_NOTIMPL;
+ static const WCHAR smalltagW[] = {'S','M','A','L','L',0};
+ return do_attributeless_tag_format(dispex, lcid, flags, dp, retv, ei, sp, smalltagW);
}
static HRESULT String_split(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp,
diff --git a/dlls/jscript/tests/api.js b/dlls/jscript/tests/api.js
index d8df87f208c..4b58e999dd5 100644
--- a/dlls/jscript/tests/api.js
+++ b/dlls/jscript/tests/api.js
@@ -314,6 +314,15 @@ ok(tmp === "test", "'test'.italics() = " + tmp);
tmp = "test".italics(3);
ok(tmp === "test", "'test'.italics(3) = " + tmp);
+tmp = "".small();
+ok(tmp === "", "''.small() = " + tmp);
+tmp = "".small(3);
+ok(tmp === "", "''.small(3) = " + tmp);
+tmp = "test".small();
+ok(tmp === "test", "'test'.small() = " + tmp);
+tmp = "test".small(3);
+ok(tmp === "test", "'test'.small(3) = " + tmp);
+
var arr = new Array();
ok(typeof(arr) === "object", "arr () is not object");
ok((arr.length === 0), "arr.length is not 0");