diff --git a/components/net/sf/briar/transport/TagEncoder.java b/components/net/sf/briar/transport/TagEncoder.java
index dca0c60debee9c91edb0fdfa4ce0c5d3a2d1e988..008ff2b35b799d6084fa6ccd9d57066b732ec5fd 100644
--- a/components/net/sf/briar/transport/TagEncoder.java
+++ b/components/net/sf/briar/transport/TagEncoder.java
@@ -28,13 +28,10 @@ class TagEncoder {
 		if(tag.length < TAG_LENGTH) throw new IllegalArgumentException();
 		try {
 			tagCipher.init(Cipher.DECRYPT_MODE, tagKey);
-			byte[] plaintext = tagCipher.doFinal(tag, 0, TAG_LENGTH);
-			if(plaintext.length != TAG_LENGTH)
-				throw new IllegalArgumentException();
+			int decrypted = tagCipher.doFinal(tag, 0, TAG_LENGTH, tag);
+			if(decrypted != TAG_LENGTH) throw new IllegalArgumentException();
 			//The plaintext should be blank
-			for(int i = 0; i < TAG_LENGTH; i++) {
-				if(plaintext[i] != 0) return false;
-			}
+			for(int i = 0; i < TAG_LENGTH; i++) if(tag[i] != 0) return false;
 			return true;
 		} catch(GeneralSecurityException e) {
 			// Unsuitable cipher or key
diff --git a/test/build.xml b/test/build.xml
index f905a6999ff96c149476eed68678fe9010b75ec3..311bada18bb90191b5242c8b26a8662c6b7c3d12 100644
--- a/test/build.xml
+++ b/test/build.xml
@@ -22,7 +22,6 @@
 			<test name='net.sf.briar.db.BasicH2Test'/>
 			<test name='net.sf.briar.db.DatabaseCleanerImplTest'/>
 			<test name='net.sf.briar.db.DatabaseComponentImplTest'/>
-			<test name='net.sf.briar.i18n.FontManagerTest'/>
 			<test name='net.sf.briar.i18n.I18nTest'/>
 			<test name='net.sf.briar.invitation.InvitationWorkerTest'/>
 			<test name='net.sf.briar.lifecycle.ShutdownManagerImplTest'/>
@@ -78,6 +77,7 @@
 			</classpath>
 			<jvmarg value='-Djava.library.path=../lib'/>
 			<test name='net.sf.briar.db.H2DatabaseTest'/>
+			<test name='net.sf.briar.i18n.FontManagerTest'/>
 			<test name='net.sf.briar.plugins.tor.TorPluginTest'/>
 		</junit>
 	</target>
diff --git a/test/net/sf/briar/transport/FrameReadWriteTest.java b/test/net/sf/briar/transport/FrameReadWriteTest.java
index 62e275873fd2c2ead287fa239ef712161dc72a1a..97af64c4b3bf05b0dfb9a791ef975948f6a0e220 100644
--- a/test/net/sf/briar/transport/FrameReadWriteTest.java
+++ b/test/net/sf/briar/transport/FrameReadWriteTest.java
@@ -89,7 +89,7 @@ public class FrameReadWriteTest extends BriarTestCase {
 		byte[] recoveredTag = new byte[TAG_LENGTH];
 		assertEquals(TAG_LENGTH, in.read(recoveredTag));
 		assertArrayEquals(tag, recoveredTag);
-		assertTrue(TagEncoder.decodeTag(tag, tagCipher, tagKey));
+		assertTrue(TagEncoder.decodeTag(recoveredTag, tagCipher, tagKey));
 		// Read the frames back
 		FrameReader encryptionIn = new IncomingEncryptionLayerImpl(in,
 				tagCipher, frameCipher, tagKey, frameKey, false);