I suspect the condition was wrong here, change the logic slightly.

Change-Id: I232d81bce275ba08de5872d69856fe691f80d50c
diff --git a/sw/source/uibase/utlui/tmplctrl.cxx b/sw/source/uibase/utlui/tmplctrl.cxx
index f5f2e56..3578e5f 100644
--- a/sw/source/uibase/utlui/tmplctrl.cxx
+++ b/sw/source/uibase/utlui/tmplctrl.cxx
@@ -74,13 +74,14 @@ SwTemplateControl::~SwTemplateControl()
void SwTemplateControl::StateChanged(
    sal_uInt16 /*nSID*/, SfxItemState eState, const SfxPoolItem* pState )
{
    if( eState != SfxItemState::DEFAULT || dynamic_cast< const SfxVoidItem *>( pState ) !=  nullptr )
        GetStatusBar().SetItemText( GetId(), OUString() );
    else if ( dynamic_cast< const SfxStringItem *>( pState ) !=  nullptr )
    const SfxStringItem* pItem = nullptr;
    if (SfxItemState::DEFAULT == eState && (pItem = dynamic_cast<const SfxStringItem*>(pState)))
    {
        sTemplate = static_cast<const SfxStringItem*>(pState)->GetValue();
        GetStatusBar().SetItemText( GetId(), sTemplate );
        sTemplate = pItem->GetValue();
        GetStatusBar().SetItemText(GetId(), sTemplate);
    }
    else
        GetStatusBar().SetItemText(GetId(), OUString());
}

void SwTemplateControl::Paint( const UserDrawEvent&  )