Does not happen all the time.
Another potential fix is disabling the 'scanline effect' which is stopped in the previous function (link):
and writes zeros to the BG offset register. The last one happens to be non-zero sometimes.
08089944 0000B5F0 push {r4,r5,r6,r7,lr}
08089946 00004657 mov r7,r10
08089948 0000464E mov r6,r9
0808994A 00004645 mov r5,r8
0808994C 0000B4E0 push {r5,r6,r7}
0808994E 0000B088 add sp,-0x20
08089950 00001C05 mov r5,r0
08089952 00009104 str r1,[sp,0x10]
08089954 00009810 ldr r0,[sp,0x40]
08089956 00004680 mov r8,r0
08089958 00009911 ldr r1,[sp,0x44]
0808995A 00004689 mov r9,r1
0808995C 00009812 ldr r0,[sp,0x48]
0808995E 00004682 mov r10,r0
08089960 0000062D lsl r5,r5,0x18
08089962 00000E2D lsr r5,r5,0x18
08089964 00009904 ldr r1,[sp,0x10]
08089966 00000609 lsl r1,r1,0x18
08089968 00009105 str r1,[sp,0x14]
0808996A 00000E08 lsr r0,r1,0x18
0808996C 00009003 str r0,[sp,0xC]
0808996E 00000611 lsl r1,r2,0x18
08089970 00000E09 lsr r1,r1,0x18
08089972 00009106 str r1,[sp,0x18]
08089974 0000061A lsl r2,r3,0x18
08089976 00000E12 lsr r2,r2,0x18
08089978 00009207 str r2,[sp,0x1C]
0808997A 00004641 mov r1,r8
0808997C 00000609 lsl r1,r1,0x18
0808997E 00000E09 lsr r1,r1,0x18
08089980 00004688 mov r8,r1
08089982 0000464B mov r3,r9
08089984 0000061B lsl r3,r3,0x18
08089986 00000E1B lsr r3,r3,0x18
08089988 00004699 mov r9,r3
0808998A 00004650 mov r0,r10
0808998C 00000600 lsl r0,r0,0x18
0808998E 00000E00 lsr r0,r0,0x18
08089990 00004682 mov r10,r0
08089992 0000F7FF bl <setup>
08089994 0000FE11 bl 0x80895B8
08089996 0000482E ldr r0,[0x8089A50]
08089998 00004448 add r0,r9
0808999A 00009000 str r0,[sp,0x0]
0808999C 0000482D ldr r0,[0x8089A54]
0808999E 00009001 str r0,[sp,0x4]
080899A0 00004669 mov r1,sp
080899A2 00002001 mov r0,0x1
080899A4 00007208 strb r0,[r1,0x8]
080899A6 00004668 mov r0,sp
080899A8 00002100 mov r1,0x0
080899AA 00007241 strb r1,[r0,0x9]
080899AC 00009800 ldr r0,[sp,0x0]
080899AE 00009901 ldr r1,[sp,0x4]
080899B0 00009A02 ldr r2,[sp,0x8]
080899B2 0000F7FF bl <setup>
080899B4 0000FE21 bl 0x80895F8
080899B6 00004828 ldr r0,[0x8089A58]
080899B8 00002100 mov r1,0x0
080899BA 0000F7F1 bl <setup>
080899BC 0000F867 bl 0x807AA8C
080899BE 00000600 lsl r0,r0,0x18
080899C0 00000E07 lsr r7,r0,0x18
080899C2 00004826 ldr r0,[0x8089A5C]
080899C4 000000BC lsl r4,r7,0x2
080899C6 000019E4 add r4,r4,r7
080899C8 000000E4 lsl r4,r4,0x3
080899CA 00001824 add r4,r4,r0
080899CC 00008125 strh r5,[r4,0x8]
080899CE 0000466B mov r3,sp
080899D0 0000899B ldrh r3,[r3,0xC]
080899D2 00008163 strh r3,[r4,0xA]
080899D4 00002080 mov r0,0x80
080899D6 00000040 lsl r0,r0,0x1
080899D8 00009906 ldr r1,[sp,0x18]
080899DA 0000F156 bl <setup>
080899DC 0000FF0D bl 0x81E07F8
080899DE 000081A0 strh r0,[r4,0xC]
080899E0 00002000 mov r0,0x0
080899E2 000081E0 strh r0,[r4,0xE]
080899E4 00004641 mov r1,r8
080899E6 00008221 strh r1,[r4,0x10]
080899E8 00008261 strh r1,[r4,0x12]
080899EA 0000464B mov r3,r9
080899EC 000082A3 strh r3,[r4,0x14]
080899EE 00004650 mov r0,r10
080899F0 000082E0 strh r0,[r4,0x16]
080899F2 0000481B ldr r0,[0x8089A60]
080899F4 00007607 strb r7,[r0,0x18]
080899F6 0000481B ldr r0,[0x8089A64]
080899F8 00002100 mov r1,0x0
080899FA 00007001 strb r1,[r0,0x0]
080899FC 00004C1A ldr r4,[0x8089A68]
080899FE 00009B03 ldr r3,[sp,0xC]
08089A00 00001B5E sub r6,r3,r5
08089A02 00000633 lsl r3,r6,0x18
08089A04 00000E1B lsr r3,r3,0x18
08089A06 00001C20 mov r0,r4
08089A08 00009906 ldr r1,[sp,0x18]
08089A0A 00009A07 ldr r2,[sp,0x1C]
08089A0C 0000F7FF bl <setup>
08089A0E 0000FF76 bl 0x80898FC
08089A10 00009803 ldr r0,[sp,0xC]
08089A12 00004285 cmp r5,r0
08089A14 0000DA13 bge 0x8089A3E
08089A16 00004915 ldr r1,[0x8089A6C]
08089A18 00001862 add r2,r4,r1
08089A1A 00000069 lsl r1,r5,0x1
08089A1C 000023F0 mov r3,0xF0
08089A1E 000000DB lsl r3,r3,0x3
08089A20 000018C8 add r0,r1,r3
08089A22 00001883 add r3,r0,r2
08089A24 00001889 add r1,r1,r2
08089A26 00001C22 mov r2,r4
08089A28 00001C35 mov r5,r6
08089A2A 00008810 ldrh r0,[r2,0x0]
08089A2C 00008008 strh r0,[r1,0x0]
08089A2E 00008810 ldrh r0,[r2,0x0]
08089A30 00008018 strh r0,[r3,0x0]
08089A32 00003202 add r2,0x2
08089A34 00003302 add r3,0x2
08089A36 00003102 add r1,0x2
08089A38 00003D01 sub r5,0x1
08089A3A 00002D00 cmp r5,0x0
08089A3C 0000D1F5 bne 0x8089A2A
08089A3E 00001C38 mov r0,r7
08089A40 0000B008 add sp,0x20
08089A42 0000BC38 pop {r3,r4,r5}
08089A44 00004698 mov r8,r3
08089A46 000046A1 mov r9,r4
08089A48 000046AA mov r10,r5
08089A4A 0000BCF0 pop {r4,r5,r6,r7}
08089A4C 0000BC02 pop {r1}
08089A4E 00004708 bx r1
08089A50 00000010 lsl r0,r2,0x0
08089A52 00000400 lsl r0,r0,0x10
08089A54 00000001 lsl r1,r0,0x0
08089A56 0000A260 add r2,=0x8089BD8
08089A58 00009735 str r7,[sp,0xD4]
08089A5A 00000808 lsr r0,r1,0x0
08089A5C 00004B20 ldr r3,[0x8089AE0]
08089A5E 00000300 lsl r0,r0,0xC
08089A60 00004DC0 ldr r5,[0x8089D64]
08089A62 00000300 lsl r0,r0,0xC
08089A64 0000FFA4 bl 0x838A9AE
08089A66 00000202 lsl r2,r0,0x8
08089A68 00005060 str r0,[r4,r1]
08089A6A 00000300 lsl r0,r0,0xC
08089A6C 0000FD80 bl 0x838A56E
08089A6E 0000FFFF bl 0x7E0AA6E
08089A70 0000B500 push {lr}