diff --git a/asminc/apple2.inc b/asminc/apple2.inc
index fb4a1b2f0..bde383882 100644
--- a/asminc/apple2.inc
+++ b/asminc/apple2.inc
@@ -24,6 +24,8 @@ DOSWARM := $03D0 ; DOS warmstart vector
BRKVec := $03F0 ; Break vector
SOFTEV := $03F2 ; Vector for warm start
PWREDUP := $03F4 ; This must be = EOR #$A5 of SOFTEV+1
+ROM_RST := $FFFC ; 6502 reset vector
+ROM_IRQ := $FFFE ; 6502 IRQ vector
;-----------------------------------------------------------------------------
; 80 column firmware
diff --git a/doc/apple2.sgml b/doc/apple2.sgml
index 719e799f4..ec9598d04 100644
--- a/doc/apple2.sgml
+++ b/doc/apple2.sgml
@@ -87,7 +87,7 @@ several useful settings:
exit then a plain vanilla ProDOS 8 doesn't make use of the Language Card bank
2 at all.
-
diff --git a/doc/apple2enh.sgml b/doc/apple2enh.sgml
index 094ddd93e..1e94d3b60 100644
--- a/doc/apple2enh.sgml
+++ b/doc/apple2enh.sgml
@@ -88,7 +88,7 @@ several useful settings:
exit then a plain vanilla ProDOS 8 doesn't make use of the Language Card bank
2 at all.
-
diff --git a/libsrc/apple2/crt0.s b/libsrc/apple2/crt0.s
index 628303687..ce14cc1e3 100644
--- a/libsrc/apple2/crt0.s
+++ b/libsrc/apple2/crt0.s
@@ -58,6 +58,7 @@ init: ldx #zpspace-1
; Check for ProDOS.
ldy $BF00 ; MLI call entry point
cpy #$4C ; Is MLI present? (JMP opcode)
+ php ; Remember whether we're running ProDOS
bne basic
; Check the ProDOS system bit map.
@@ -99,7 +100,20 @@ basic: lda HIMEM
bit $C081
bit $C081
- ; Set the source start address.
+ plp ; Are we running ProDOS?
+ beq :+ ; Yes, no need to patch vectors
+
+ lda #