There are two points to consider:
How you access your sites under development
If you use a generic URL such as http://localhost, your browser considers all your sites to be the same one. Thus, you suffer from cross-site caching issues. If so, you can try the well-known solutions described in How to force a favicon refresh. An alternative solution is to use you hosts file (/etc/hosts on Linux or C:\Windows\System32\drivers\etc\hosts on Windows). Add lines such as:
127.0.0.1 myfirstsite.com
127.0.0.1 mysecondsite.com
Then, browse your sites under development just like a regular site with http://myfirstsite.com or http://mysecondsite.com.
Duplicated favicon(s)
Is there any chance your icons are duplicated?
- Maybe you have duplicated declarations in your HTML. Some browsers may use the first one, some others the second one.
- Maybe you have a duplicated favicon in your root directory (ie.
http://example.com/favicon.ico). This is a convention, so some browsers may pick this one instead of the one you declared in the HTML.