I replaced switch-to-buffer with pop-to-buffer-same-window in those
functions which I'm using regularly and it fixes the problem. The CEDET
functions where I made the replacements and checked them are:
semantic-analyze-proto-impl-toggle
semantic-complete-jump
semantic-decoration-include-visit
semantic-ia--fast-jump-helper
semantic-mrub-vist
senator-jump
senator-jump-regexp
senator-go-to-up-reference
I didn't make any other replacements because:
a) For some of them I'm not sure if 'pop-to-buffer-same-window' or
'pop-to-buffer' should be used.
b) I'm not using any of the other functions with matches so I wouldn't
be able to test the change.
Also, searching for 'switch-to-buffer' in non-CEDET related lisp files
in the emacs sources reveals more places which need to be fixed, but I
didn't go that far. However, probably somebody (tm) should check them
all one-by-one :-(