diff --git a/briar-api/src/org/briarproject/api/TransportId.java b/briar-api/src/org/briarproject/api/TransportId.java
index f7644891c08c6128f630679dec3200877e6b32a6..0490df517c5ebfb13e7c1844af0eeb0f491251f9 100644
--- a/briar-api/src/org/briarproject/api/TransportId.java
+++ b/briar-api/src/org/briarproject/api/TransportId.java
@@ -1,17 +1,22 @@
 package org.briarproject.api;
 
+import java.nio.charset.Charset;
+
 /**
  * Type-safe wrapper for a string that uniquely identifies a transport plugin.
  */
 public class TransportId {
 
-	/** The maximum length of transport identifier in UTF-8 bytes. */
+	/**
+	 * The maximum length of transport identifier in UTF-8 bytes.
+	 */
 	public static int MAX_TRANSPORT_ID_LENGTH = 10;
 
 	private final String id;
 
 	public TransportId(String id) {
-		if (id.length() == 0 || id.length() > MAX_TRANSPORT_ID_LENGTH)
+		byte[] b = id.getBytes(Charset.forName("UTF-8"));
+		if (b.length == 0 || b.length > MAX_TRANSPORT_ID_LENGTH)
 			throw new IllegalArgumentException();
 		this.id = id;
 	}