If you look into /app/code/core/Mage/Core/Model/Store.php you see following function:
public function getCurrentUrl($fromStore = true)
So without changing any core code grab /app/design/frontend/base/default/template/page/switch/languages.phtml
Change the line
<option value="<?php echo $_lang->getCurrentUrl() ?>"<?php echo $_selected ?>><?php echo $this->htmlEscape($_lang->getName()) ?></option>
to
<option value="<?php echo $_lang->getCurrentUrl(false) ?>"<?php echo $_selected ?>><?php echo $this->htmlEscape($_lang->getName()) ?></option>
Source:
http://www.magentocommerce.com/boards/viewthread/75111/#t236739