diff --git a/code/debug-int.lisp b/code/debug-int.lisp
index f0b99301a5fa0d74d8a6a10b47f38a89ff43127b..485cde3e595791cd6fb8b3a11d67d15e685ec327 100644
--- a/code/debug-int.lisp
+++ b/code/debug-int.lisp
@@ -784,12 +784,20 @@
       (declare (simple-vector function-map))
       (if (= len 1)
 	  (make-compiled-debug-function (svref function-map 0) component)
-	  (let ((i 1))
+	  (let ((i 1)
+		(elsewhere-p
+		 (>= pc (c::compiled-debug-function-elsewhere-pc
+			 (svref function-map 0)))))
 	    (declare (type c::index i))
 	    (loop
-	      (when (or (= i len) (< pc (svref function-map i)))
-		(return (make-compiled-debug-function (svref function-map (1- i))
-						      component)))
+	      (when (or (= i len)
+			(< pc (if elsewhere-p
+				  (c::compiled-debug-function-elsewhere-pc
+				   (svref function-map (1+ i)))
+				  (svref function-map i))))
+		(return (make-compiled-debug-function
+			 (svref function-map (1- i))
+			 component)))
 	      (incf i 2)))))))
 
 ;;; FUNCTION-CODE-HEADER -- Internal.