There's a launch services database that gets corrupted... the usual solution is to execute this:
Code:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
From a terminal. See here. It's been a long-standing bug that doesn't show up super commonly, but seems to happen every once in a while.