Index: django/templatetags/i18n.py
===================================================================
--- django/templatetags/i18n.py	(révision 13294)
+++ django/templatetags/i18n.py	(copie de travail)
@@ -76,8 +76,10 @@
         if self.plural and self.countervar and self.counter:
             count = self.counter.resolve(context)
             context[self.countervar] = count
-            plural, vars = self.render_token_list(self.plural)
+            plural, plural_vars = self.render_token_list(self.plural)
             result = translation.ungettext(singular, plural, count)
+            if count != 1:
+                vars = plural_vars
         else:
             result = translation.ugettext(singular)
         # Escape all isolated '%' before substituting in the context.
Index: tests/regressiontests/templates/tests.py
===================================================================
--- tests/regressiontests/templates/tests.py	(révision 13294)
+++ tests/regressiontests/templates/tests.py	(copie de travail)
@@ -1104,6 +1104,9 @@
             'i18n24': ("{% load i18n %}{% trans 'Page not found'|upper %}", {'LANGUAGE_CODE': 'de'}, u'SEITE NICHT GEFUNDEN'),
             'i18n25': ('{% load i18n %}{% trans somevar|upper %}', {'somevar': 'Page not found', 'LANGUAGE_CODE': 'de'}, u'SEITE NICHT GEFUNDEN'),
 
+            # translation of plural form with extra field in singular form (#XXX)
+            'i18n26': ('{% load i18n %}{% blocktrans with myextra_field as extra_field count number as counter %}singular {{ extra_field }}{% plural %}plural{% endblocktrans %}', {'number': 1, 'myextra_field': 'test'}, "singular test"),
+
             ### HANDLING OF TEMPLATE_STRING_IF_INVALID ###################################
 
             'invalidstr01': ('{{ var|default:"Foo" }}', {}, ('Foo','INVALID')),
