diff --git a/src/cc65/asmstmt.c b/src/cc65/asmstmt.c
index 53afc99b2..be85db461 100644
--- a/src/cc65/asmstmt.c
+++ b/src/cc65/asmstmt.c
@@ -224,8 +224,8 @@ static void ParseGVarArg (StrBuf* T, unsigned Arg)
     }
 
     /* Check for external linkage */
-    if (Sym->Flags & (SC_EXTERN | SC_STORAGE)) {
-    	/* External linkage */
+    if (Sym->Flags & (SC_EXTERN | SC_STORAGE | SC_FUNC)) {
+    	/* External linkage or a function */
 	/* ### FIXME: Asm name should be generated by codegen */
 	SB_AppendChar (T, '_');
 	SB_AppendStr (T, Sym->Name);