On a multilingual Drupal 7 site, the Language Switcher Block used to work for both published and unpublished nodes.
Example: node/1: English, alias=map, published node/2: German, alias=karte, published node/3: English, alias=table, unpublished node/4: German, alias=tabelle, unpublished
On /node/1 or /map, the Language Switcher shows the link to German and it correctly links to /de/karte. This works also the other way around. However, on /node/3 or /table, the block does show a link to German version, but it links to /de/node/3 instead of /de/tabelle. On the German version at /de/tabelle (or /de/node/4) the block links to /node/4 instead of /table.
As far as I know, this change was introduced between Drupal 7.24 and 7.28 and might even not be a Core issue. However, I couldn't find the source of this behaviour.
Does anyone know, if it is related to some Security Issue with unpublished nodes or where I could start looking further? I tried to find it inside core modules locale/translation and language.inc and also in i18n to no avail.