diff --git a/src/code/ppc-vm.lisp b/src/code/ppc-vm.lisp
index fa977fd587c06849d71fd9a12fceb43e903481b0..522218cf4d7b47c07a703f636b2639f012b89b97 100644
--- a/src/code/ppc-vm.lisp
+++ b/src/code/ppc-vm.lisp
@@ -297,7 +297,7 @@
 ;;; 
 (defun extern-alien-name (name)
   (declare (type simple-base-string name))
-  name)
+  (concatenate 'simple-base-string "_" name))
 
 #-linkage-table
 (defun lisp::foreign-symbol-address-aux (name flavor)
diff --git a/src/tools/cross-scripts/cross-ppc-ppc-darwin.lisp b/src/tools/cross-scripts/cross-ppc-ppc-darwin.lisp
index 02e05ef98a638c1eac73bfe5c6aa5893191ef65f..55261dc2ed9aa65592523c23f015b91061b801e0 100644
--- a/src/tools/cross-scripts/cross-ppc-ppc-darwin.lisp
+++ b/src/tools/cross-scripts/cross-ppc-ppc-darwin.lisp
@@ -31,7 +31,7 @@
 (in-package :vm)
 (defun extern-alien-name (name)
   (declare (type simple-string name))
-  name)
+  (concatenate 'simple-string "_" name))
 ;; When compiling the compiler, vm:fixup-code-object and
 ;; vm:sanctify-for-execution are undefined.  Import these to get rid
 ;; of that error.
@@ -199,7 +199,7 @@
 (in-package :vm)
 (defun extern-alien-name (name)
   (declare (type simple-string name))
-  name)
+  (concatenate 'simple-string "_" name))
 (export 'extern-alien-name)
 (export 'fixup-code-object)
 (export 'sanctify-for-execution)