diff --git a/VendServer/OpenDispense.py b/VendServer/OpenDispense.py
index c8dcf836d36b8bfb5f8ac164a8825598bb746345..0ce822341e5a886561769e0e7e029c38bfd0f3c7 100644
--- a/VendServer/OpenDispense.py
+++ b/VendServer/OpenDispense.py
@@ -72,6 +72,8 @@ class OpenDispense(DispenseInterface):
 		return False
 
 	def authMifareCard(self, cardId):
+		self._loggedIn = False
+		self._username = None
 		if DISPSRV_MIFARE:
 			card_base64 = base64.b64encode(cardId)
 			
@@ -86,7 +88,7 @@ class OpenDispense(DispenseInterface):
 			sockf.write("AUTHCARD %s\n" % (card_base64,)); sockf.flush()
 			rsp = sockf.readline()
 			if not "200" in rsp:
-				raise ValueError, "no UID found for card ID"
+                        	return False
 			username = rsp.split('=')[1].strip()
 
 			# Check for thier username
@@ -127,10 +129,10 @@ class OpenDispense(DispenseInterface):
 			sockf.write("AUTHIDENT\n")
 			sockf.flush(); rsp = sockf.readline()
 			assert "200" in rsp
-			sockf.write("SETEUSER %s\n", self._username)
+			sockf.write("SETEUSER %s\n" % (self._username,))
 			sockf.flush(); rsp = sockf.readline()
 			assert "200" in rsp
-			sockf.write("CARD_ADD %s\n", card_base64)
+			sockf.write("CARD_ADD %s\n" % (card_base64,))
 			sockf.flush(); rsp = sockf.readline()
 			if "200" in rsp:
 				return True
diff --git a/VendServer/VendServer.py b/VendServer/VendServer.py
index 3ac2b81cb710486eb52750ccada0ccb7cc951155..6c529334ec61b944decd8b17a08d9b1eb079dcd7 100755
--- a/VendServer/VendServer.py
+++ b/VendServer/VendServer.py
@@ -1,5 +1,5 @@
 #!/usr/bin/python
-# vim:ts=4
+# vim: ts=4 sts=4 sw=4 noexpandtab
 
 USE_MIFARE = 1
 
@@ -481,6 +481,7 @@ class VendServer():
 			if len(self.vstatus.cur_pin) == PIN_LENGTH:
 				self.dispense.authUserIdPin(self.vstatus.cur_user, self.vstatus.cur_pin)
 				if self.dispense.getUsername():
+					self.vstatus.username = self.dispense.getUsername()
 					self.v.beep(0, False)
 					self.vstatus.cur_selection = ''
 					self.vstatus.change_state(STATE_GET_SELECTION)