added code to resolve issue #18, only update icons when needed