If i is unsigned, the cleanup 'for loop' will always be true