In the transactions list, if you right click a transaction and choose "view transaction details", the "Output index" listed in the resulting window is usually wrong.

With outgoing transactions, if you have a transaction with outputs like:

    vout 0: AddrA
    vout 1: AddrB, which belongs to sender
    vout 2: AddrC
    vout 3: <change>
    vout 4: AddrD

Then the output index as reported by the GUI will be:

    tx to AddrA: 0
    tx to AddrB: <transaction not listed>
    tx to AddrC: 1
    tx to AddrD: 2
    
With received transactions, the output index always seems to be reported as 0 in transactions I've checked.

I'd guess that rather than the actual vout index, some internal wallet index is being reported.

This is 0.13.2. I don't know when the bug was introduced.
#include "transactionrecord.h"
#include "base58.h"
#include "consensus/consensus.h"
#include "validation.h"
#include "timedata.h"
#include "wallet/wallet.h"
#include <stdint.h>
#include <boost/foreach.hpp>
/* Return positive answer if transaction should be shown in list.
 */
bool TransactionRecord::showTransaction(const CWalletTx &wtx)
{
    if (wtx.IsCoinBase())
    {
        
        if (!wtx.IsInMainChain())
        {
            return false;
        }
    }
    return true;
}
/*
 * Decompose CWallet transaction to model transaction records.
 */
QList<TransactionRecord> TransactionRecord::decomposeTransaction(const CWallet *wallet, const CWalletTx &wtx)