diff --git a/test/DebugProtoTest.thrift b/test/DebugProtoTest.thrift
index 48a8d6f..fb4ce07 100644
--- a/test/DebugProtoTest.thrift
+++ b/test/DebugProtoTest.thrift
@@ -163,7 +163,7 @@
 
 
 service Srv {
-  i32 Janky(i32 arg);
+  i32 Janky(1: i32 arg);
   
   // return type only methods
   
@@ -173,7 +173,7 @@
 }
 
 service Inherited extends Srv {
-  i32 identity(i32 arg)
+  i32 identity(1: i32 arg)
 }
 
 service EmptyService {}
diff --git a/test/DenseLinkingTest.thrift b/test/DenseLinkingTest.thrift
index a23ad20..cf61496 100644
--- a/test/DenseLinkingTest.thrift
+++ b/test/DenseLinkingTest.thrift
@@ -88,5 +88,5 @@
 }
 
 service Srv {
-  i32 Janky(i32 arg)
+  i32 Janky(1: i32 arg)
 }
diff --git a/test/FastbinaryTest.py b/test/FastbinaryTest.py
index e77b115..7f6efae 100755
--- a/test/FastbinaryTest.py
+++ b/test/FastbinaryTest.py
@@ -104,7 +104,6 @@
 rshuge.myintlist=range(10000)
 
 my_zero = Srv.Janky_result({"arg":5})
-my_nega = Srv.Janky_args({"success":6})
 
 def checkWrite(o):
   trans_fast = TTransport.TMemoryBuffer()
@@ -159,12 +158,6 @@
   checkWrite(my_zero)
   checkRead(my_zero)
   checkRead(Backwards({"first_tag2":4, "second_tag1":2}))
-  try:
-    checkWrite(my_nega)
-    print "Hey, did this get fixed?"
-  except AttributeError:
-    # Sorry, doesn't work with negative tags.
-    pass
 
   # One case where the serialized form changes, but only superficially.
   o = Backwards({"first_tag2":4, "second_tag1":2})
diff --git a/test/ThriftTest.thrift b/test/ThriftTest.thrift
index b776e29..3517640 100644
--- a/test/ThriftTest.thrift
+++ b/test/ThriftTest.thrift
@@ -120,15 +120,15 @@
   map<UserId, map<Numberz,Insanity>> testInsanity(1: Insanity argument),
 
   /* Multiple parameters */
-  Xtruct testMulti(byte arg0, i32 arg1, i64 arg2, map<i16, string> arg3, Numberz arg4, UserId arg5),
+  Xtruct testMulti(1: byte arg0, 2: i32 arg1, 3: i64 arg2, 4: map<i16, string> arg3, 5: Numberz arg4, 6: UserId arg5),
 
   /* Exception specifier */
 
-  void testException(string arg) throws(Xception err1),
+  void testException(1: string arg) throws(1: Xception err1),
 
   /* Multiple exceptions specifier */
 
-  Xtruct testMultiException(string arg0, string arg1) throws(Xception err1, Xception2 err2)
+  Xtruct testMultiException(1: string arg0, 2: string arg1) throws(1: Xception err1, 2: Xception2 err2)
 
   /* Test oneway void */
   oneway void testOneway(1:i32 secondsToSleep)
