diff --git a/src/code/extfmts.lisp b/src/code/extfmts.lisp
index 7308b5d5ea813d12191197ca15d2637d3c486d7e..a389dcb9b8530f2d1d9be069356d0b877c77df98 100644
--- a/src/code/extfmts.lisp
+++ b/src/code/extfmts.lisp
@@ -1171,7 +1171,8 @@ character and illegal outputs are replaced by a question mark.")
 	(#.+ef-os+ (%ef-octets-to-string ef))
 	(#.+ef-so+ (%ef-string-to-octets ef))
 	(#.+ef-en+ (%ef-encode ef))
-	(#.+ef-de+ (%ef-decode ef))))
+	(#.+ef-de+ (%ef-decode ef))
+	(#.+ef-osc+ (%ef-octets-to-string-counted ef))))
     `(setf (aref (ef-cache (find-external-format ,(ef-name ef))) ,slot)
 	 ,(subst (ef-name ef) ef
 		 (function-lambda-expression (aref (ef-cache ef) slot))))))