--- a/mmm-class.el
+++ b/mmm-class.el
@@ -115,8 +115,10 @@ and interactive history."
   (mmm-clear-overlays start stop 'strict)
   (mmm-apply-classes (mmm-get-all-classes t) :start start :stop stop)
   (mmm-update-submode-region)
-  (syntax-ppss-flush-cache start)
-  (syntax-propertize stop)
+  ;; Try to continue supporting XEmacs for a while.
+  (when (fboundp 'syntax-propertize)
+    (syntax-ppss-flush-cache start)
+    (syntax-propertize stop))
   (mmm-refontify-maybe start stop))
 
 ;;}}}
--- a/mmm-compat.el
+++ b/mmm-compat.el
@@ -125,6 +125,10 @@ This text should not be modified."
 
 ;;}}}
 
+;; xemacs' syntax.el doesn't have syntax-begin-function
+(if (featurep 'xemacs)
+		(defvar syntax-begin-function nil))
+
 (provide 'mmm-compat)
 
 ;;; mmm-compat.el ends here
