diff --git a/ghc/compiler/rename/Rename.lhs b/ghc/compiler/rename/Rename.lhs
index f9aafff5762f25b837392ccf79f1e74b86db87d4..1ca1b2733e7fb3abfd03e1db013b60d6f3d90e2c 100644
--- a/ghc/compiler/rename/Rename.lhs
+++ b/ghc/compiler/rename/Rename.lhs
@@ -37,6 +37,7 @@ import TyCon		( TyCon )
 import PrelMods		( mAIN, pREL_MAIN )
 import TysWiredIn	( unitTyCon, intTyCon, doubleTyCon )
 import PrelInfo		( ioTyCon_NAME, thinAirIdNames )
+import Type		( funTyCon )
 import ErrUtils		( pprBagOfErrors, pprBagOfWarnings,
 			  doIfSet, dumpIfSet, ghcExit
 			)
@@ -174,7 +175,11 @@ addImplicits mod_name
 	-- are the types to which ambigious type variables may be defaulted by
 	-- the type checker; so they won't always appear explicitly.
 	-- [The () one is a GHC extension for defaulting CCall results.]
-    default_tys = [getName intTyCon, getName doubleTyCon, getName unitTyCon ]
+	-- ALSO: funTyCon, since it occurs implicitly everywhere!
+	--  	 (we don't want to be bothered with addImplicitOcc at every
+	--	  function application)
+    default_tys = [getName intTyCon, getName doubleTyCon,
+		   getName unitTyCon, getName funTyCon]
 
 	-- Add occurrences for IO or PrimIO
     implicit_main |  mod_name == mAIN