diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py
index 00c7bd9..d720259 100644
--- a/pySim/transport/__init__.py
+++ b/pySim/transport/__init__.py
@@ -4,6 +4,7 @@
 """
 
 from pySim.exceptions import *
+from pySim.utils import sw_match
 
 #
 # Copyright (C) 2009-2010  Sylvain Munaut <tnt@246tNt.com>
@@ -93,14 +94,6 @@
 		"""
 		rv = self.send_apdu(pdu)
 
-		# Create a masked version of the returned status word
-		sw_masked = ""
-		for i in range(0, 4):
-			if sw.lower()[i] == '?':
-				sw_masked = sw_masked + '?'
-			else:
-				sw_masked = sw_masked + rv[1][i].lower()
-
-		if sw.lower() != sw_masked:
+		if not sw_match(rv[1], sw):
 			raise SwMatchError(rv[1], sw.lower())
 		return rv
diff --git a/pySim/utils.py b/pySim/utils.py
index a733d87..bfa147b 100644
--- a/pySim/utils.py
+++ b/pySim/utils.py
@@ -759,3 +759,17 @@
 		return 0x00
 
 	return None
+
+def sw_match(sw, pattern):
+	"""Match given SW against given pattern."""
+	# Create a masked version of the returned status word
+	sw_lower = sw.lower()
+	sw_masked = ""
+	for i in range(0, 4):
+		if sw_lower[i] == '?':
+			sw_masked = sw_masked + '?'
+		elif sw_lower[i] == 'x':
+			sw_masked = sw_masked + 'x'
+		else:
+			sw_masked = sw_masked + sw_lower[i]
+	return sw_masked == pattern
