diff --git a/Lib/test/test_bigmem.py b/Lib/test/test_bigmem.py
index 6d6c37c..d4fc6eb 100644
--- a/Lib/test/test_bigmem.py
+++ b/Lib/test/test_bigmem.py
@@ -65,13 +65,15 @@
         self.assertEquals(s.count('i'), 1)
         self.assertEquals(s.count('j'), 0)
 
-    @bigmemtest(minsize=0, memuse=1)
+    @bigmemtest(minsize=_2G + 2, memuse=3)
     def test_decode(self, size):
-        pass
+        s = '.' * size
+        self.assertEquals(len(s.decode('utf-8')), size)
 
-    @bigmemtest(minsize=0, memuse=1)
+    @bigmemtest(minsize=_2G + 2, memuse=3)
     def test_encode(self, size):
-        pass
+        s = u'.' * size
+        self.assertEquals(len(s.encode('utf-8')), size)
 
     @bigmemtest(minsize=_2G, memuse=2)
     def test_endswith(self, size):
diff --git a/Misc/NEWS b/Misc/NEWS
index 05b7491..4fa85c6 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,11 @@
 Core and builtins
 -----------------
 
+- Issue #1521: On 64bit platforms, using PyArgs_ParseTuple with the t# of w#
+  format code incorrectly truncated the length to an int, even when
+  PY_SSIZE_T_CLEAN is set.  The str.decode method used to return incorrect
+  results with huge strings.
+
 - Issue #1402: Fix a crash on exit, when another thread is still running, and
   if the deallocation of its frames somehow calls the PyGILState_Ensure() /
   PyGILState_Release() functions.
diff --git a/Python/getargs.c b/Python/getargs.c
index a848116..2cae516 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -894,7 +894,8 @@
 		char **buffer;
 		const char *encoding;
 		PyObject *s;
-		int size, recode_strings;
+		Py_ssize_t size;
+		int recode_strings;
 
 		/* Get 'e' parameter: the encoding name */
 		encoding = (const char *)va_arg(*p_va, const char *);
@@ -1144,7 +1145,7 @@
 	case 'w': { /* memory buffer, read-write access */
 		void **p = va_arg(*p_va, void **);
 		PyBufferProcs *pb = arg->ob_type->tp_as_buffer;
-		int count;
+		Py_ssize_t count;
 			
 		if (pb == NULL || 
 		    pb->bf_getwritebuffer == NULL ||
@@ -1166,7 +1167,7 @@
 	case 't': { /* 8-bit character buffer, read-only access */
 		char **p = va_arg(*p_va, char **);
 		PyBufferProcs *pb = arg->ob_type->tp_as_buffer;
-		int count;
+		Py_ssize_t count;
 		
 		if (*format++ != '#')
 			return converterr(
