diff --git a/sequences.lisp b/sequences.lisp
index 8b9a44328542d4e10e9e852da1d8db266c45ec62..94c16b997f6b358d4970cda3b044f748c983fa9a 100644
--- a/sequences.lisp
+++ b/sequences.lisp
@@ -289,7 +289,7 @@ displaced array pointing to the sequence after PREFIX."
   (let ((sequence-length (length sequence))
         (prefix-length (length prefix)))
     (if (<= prefix-length sequence-length)
-        (let ((mismatch (apply #'mismatch sequence prefix args)))
+        (let ((mismatch (apply #'mismatch prefix sequence args)))
           (if mismatch
               (if (< mismatch prefix-length)
                   (values nil nil)
diff --git a/tests.lisp b/tests.lisp
index 7ffe30fa5ce6b619b12ee131b4e3231df5781f31..61579d7393d1128765e9a5b00b4e7b5dbe48e14a 100644
--- a/tests.lisp
+++ b/tests.lisp
@@ -1852,3 +1852,13 @@
         (incf n))
       n)
   13)
+
+(deftest starts-with-subseq.start1
+    (starts-with-subseq "foo" "oop" :start1 1)
+  t
+  nil)
+
+(deftest starts-with-subseq.start2
+    (starts-with-subseq "foo" "xfoop" :start2 1)
+  t
+  nil)