diff --git a/dlls/comctl32/syslink.c b/dlls/comctl32/syslink.c
index 78d0fd09863..802a8803e82 100644
--- a/dlls/comctl32/syslink.c
+++ b/dlls/comctl32/syslink.c
@@ -165,10 +165,6 @@ static VOID SYSLINK_ClearDoc (SYSLINK_INFO *infoPtr)
*/
static UINT SYSLINK_ParseText (SYSLINK_INFO *infoPtr, LPCWSTR Text)
{
- static const WCHAR SL_LINKOPEN[] = { '<','a' };
- static const WCHAR SL_HREF[] = { 'h','r','e','f','=','\"' };
- static const WCHAR SL_ID[] = { 'i','d','=','\"' };
- static const WCHAR SL_LINKCLOSE[] = { '<','/','a','>' };
LPCWSTR current, textstart = NULL, linktext = NULL, firsttag = NULL;
int taglen = 0, textlen = 0, linklen = 0, docitems = 0;
PDOC_ITEM Last = NULL;
@@ -182,7 +178,7 @@ static UINT SYSLINK_ParseText (SYSLINK_INFO *infoPtr, LPCWSTR Text)
{
if(*current == '<')
{
- if(!wcsnicmp(current, SL_LINKOPEN, ARRAY_SIZE(SL_LINKOPEN)) && (CurrentType == slText))
+ if(!wcsnicmp(current, L"", 4) && (CurrentType == slLink) && firsttag)
{
/* there's a tag opened, first add the previous text, if present */
if(textstart != NULL && textlen > 0 && firsttag > textstart)