Index: sage/rings/rational.pyx
===================================================================
--- sage/rings/rational.pyx	(revision 5468)
+++ sage/rings/rational.pyx	(revision 5473)
@@ -1462,7 +1462,15 @@
     
 cdef class Z_to_Q(Morphism):
+
+    def __init__(self):
+        import integer_ring
+        import rational_field
+        import sage.categories.homset
+        Morphism.__init__(self, sage.categories.homset.Hom(integer_ring.ZZ, rational_field.QQ))
+        
     cdef Element _call_c_impl(self, Element x):
         cdef Rational rat
         rat = <Rational> PY_NEW(Rational)
         mpq_set_z(rat.value, (<integer.Integer>x).value)
-        
+        return rat
+
Index: sage/rings/rational_field.py
===================================================================
--- sage/rings/rational_field.py	(revision 4450)
+++ sage/rings/rational_field.py	(revision 5473)
@@ -180,4 +180,14 @@
             return self(x)
         raise TypeError, 'no implicit coercion of element to the rational numbers'
+        
+    def coerce_map_from_impl(self, S):
+        global ZZ
+        if ZZ is None:
+            import integer_ring
+            ZZ = integer_ring.ZZ
+        if S is ZZ:
+            return sage.rings.rational.Z_to_Q()
+        else:
+            return field.Field.coerce_map_from_impl(self, S)
 
     def _is_valid_homomorphism_(self, codomain, im_gens):
