diff -r 64a770d3dae9 -r 4ea2da14cd0e finch/gntaccount.c --- a/finch/gntaccount.c Thu Aug 22 00:32:28 2013 +0530 +++ b/finch/gntaccount.c Thu Aug 22 01:35:32 2013 +0530 @@ -765,7 +765,8 @@ count = g_list_length(accounts); pos = g_list_index(accounts, account); pos = (move + pos + count + 1) % (count + 1); - purple_accounts_reorder(account, pos); + if (pos >= 0) + purple_accounts_reorder(account, pos); /* I don't like this, but recreating the entire list seems to be * the easiest way of doing it */