cbnz - Error: branch out of range

I have a piece of assembler code which doesn't pass:

3:      ldrb r1,[r4],#1
        cbnz r1,3b    @ skip until 0

This gives 

arm-none-eabi-as -g -al -o simple.o simple.s >simple.lst
simple.s: Assembler messages:
simple.s:570: Error: branch out of range
make: *** [simple.o] Error 1