diff --git a/src/cmd/compile/internal/gc/walk.go b/src/cmd/compile/internal/gc/walk.go
index af60614..94b20b1 100644
--- a/src/cmd/compile/internal/gc/walk.go
+++ b/src/cmd/compile/internal/gc/walk.go
@@ -957,11 +957,6 @@
 			break
 		}
 
-		// Build name of function: convI2E etc.
-		// Not all names are possible
-		// (e.g., we'll never generate convE2E or convE2I).
-		buf := "conv" + type2IET(n.Left.Type) + "2" + type2IET(n.Type)
-		fn := syslook(buf, 1)
 		var ll *NodeList
 		if !Isinter(n.Left.Type) {
 			ll = list(ll, typename(n.Left.Type))
@@ -1002,7 +997,7 @@
 				typecheck(&n1, Etop)
 				appendNodeSeqNode(init, n1)
 
-				fn := syslook("typ2Itab", 1)
+				fn := syslook("typ2Itab", 0)
 				n1 = Nod(OCALL, fn, nil)
 				setNodeSeq(&n1.List, ll)
 				typecheck(&n1, Erv)
@@ -1051,6 +1046,11 @@
 			ll = list(ll, r)
 		}
 
+		// Build name of function: convI2E etc.
+		// Not all names are possible
+		// (e.g., we'll never generate convE2E or convE2I).
+		buf := "conv" + type2IET(n.Left.Type) + "2" + type2IET(n.Type)
+		fn := syslook(buf, 1)
 		if !Isinter(n.Left.Type) {
 			substArgTypes(fn, n.Left.Type, n.Left.Type, n.Type)
 		} else {
@@ -1377,8 +1377,6 @@
 	case OMAKEMAP:
 		t := n.Type
 
-		fn := syslook("makemap", 1)
-
 		a := nodnil() // hmap buffer
 		r := nodnil() // bucket buffer
 		if n.Esc == EscNone {
@@ -1401,6 +1399,7 @@
 			r = Nod(OADDR, var_, nil)
 		}
 
+		fn := syslook("makemap", 1)
 		substArgTypes(fn, hmap(t), mapbucket(t), t.Down, t.Type)
 		n = mkcall1(fn, n.Type, init, typename(n.Type), conv(n.Left, Types[TINT64]), a, r)
 
@@ -2760,7 +2759,7 @@
 		slice.Esc = EscNone
 	}
 
-	cat := syslook(fn, 1)
+	cat := syslook(fn, 0)
 	r := Nod(OCALL, cat, nil)
 	setNodeSeq(&r.List, args)
 	typecheck(&r, Erv)
