diff --git a/drbio/biosinit.nas b/drbio/biosinit.nas
--- a/drbio/biosinit.nas
+++ b/drbio/biosinit.nas
@@ -260,6 +260,28 @@
 	 jz	biosinit30		; if ROMed we have nothing to relocate
 	mov	[rcode_seg],ax		; relocated BIOS lives here
 	add	ax,dx			; remember how much we allocated
+
+%ifn SVARDOS
+	push ds
+	mov cx, [drdoslen]
+	mov bx, [drdosseg]
+	mov ds, bx
+	xor si, si
+	mov es, ax
+	xor di, di
+	cmp ax, bx	; cmp es, ds
+	jb .forward
+	mov si, cx
+	mov di, cx
+	std
+	cmpsb
+.forward:
+	rep movsb
+	cld
+	pop ds
+	mov cl, 4
+%endif	; SVARDOS
+
 	mov	dx,[rcode_offset]
 	mov	si,dx
 	mov	di,dx
@@ -293,16 +315,7 @@
 	rep	movsw			; move it
 	pop	ds
  %endif	; SINGLEFILE
-%else	; SVARDOS
-	push ds
-	mov cx, [drdoslen]
-	mov ds, [drdosseg]
-	xor si, si
-	mov es, ax
-	xor di, di
-	rep movsb
-	pop ds
-%endif	; SVARDOS
+%endif ; SVARDOS
 
 	mov	ax,offset biosinit_end+32
 	mov	cl,4			; Leave the Last Paragraph Free for
