diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index 4bcd121..dcf961d 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -543,6 +543,7 @@
         self.checkequal('"', "%c", '__mod__', 34)
         self.checkequal('$', "%c", '__mod__', 36)
         self.checkequal('10', "%d", '__mod__', 10)
+        self.checkequal('\x7f', "%c", '__mod__', 0x7f)
 
         for ordinal in (-100, 0x200000):
             # unicode raises ValueError, str raises OverflowError
diff --git a/Lib/test/test_str.py b/Lib/test/test_str.py
index 1b26106..b9f4845 100644
--- a/Lib/test/test_str.py
+++ b/Lib/test/test_str.py
@@ -14,6 +14,10 @@
     def fixtype(self, obj):
         return obj
 
+    def test_formatting(self):
+        string_tests.MixinStrUnicodeUserStringTest.test_formatting(self)
+        self.assertRaises(OverflowError, '%c'.__mod__, 0x1234)
+
 def test_main():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(StrTest))
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index 43e2eba..69f308e 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -358,6 +358,8 @@
             self.assertEqual(u"%r, %r" % (u"abc", "abc"), u"u'abc', 'abc'")
         self.assertEqual(u"%(x)s, %(y)s" % {'x':u"abc", 'y':"def"}, u'abc, def')
         self.assertEqual(u"%(x)s, %(\xfc)s" % {'x':u"abc", u'\xfc':"def"}, u'abc, def')
+        self.assertEqual(u'%c' % 0x1234, u'\u1234')
+        self.assertRaises(ValueError, u'%c'.__mod__, sys.maxunicode+1)
 
         # formatting jobs delegated from the string implementation:
         self.assertEqual('...%(foo)s...' % {'foo':u"abc"}, u'...abc...')
@@ -375,6 +377,7 @@
         self.assertEqual('%*.*s' % (5,3,u'abc',), u'  abc')
         self.assertEqual('%i %*.*s' % (10, 5,3,u'abc',), u'10   abc')
         self.assertEqual('%i%s %*.*s' % (10, 3, 5, 3, u'abc',), u'103   abc')
+        self.assertEqual('%c' % u'a', u'a')
 
         self.assertRaises(ValueError, u"%c".__mod__, (sys.maxunicode+1,))
 
