Very strange problem with update function skipping some lines of code

Okay so I have these two lines in this script, however I only see the index increasing and the update! text was only sent once in console when it starts.

It's very strange, it's acting like it skips over the debug line to output the text and goes straight to increasing the index then output to console.

using UnityEngine;
using System.Collections;

public class TestingScript : MonoBehaviour
{
    private int index = 0;

    void Update()
    {
        Debug.Log("Update!");
        Debug.Log(index++);
    }

}

In console I will see this:

Update! 1 2 3 4 5

and so on...

The reason I am trying to figure this out, is because I am getting the same problem all over my program when I try to get the index of my selected menu item using a controller, it seems to work just fine with other things but on some cases like looping a selection of numbers (e.g 1-10, whichever number it starts on, it will loop to and then get stuck and not keep looping) it gets stuck after a single loop.

another important note, is that when I clear the console while running it, the update text comes back into console (tested with a 5 second timer) but then it outputs once only, again.

See here.