diff --git a/sql-edition/servers/VendServer.py b/sql-edition/servers/VendServer.py
index 0b45a40b03a9e36acd3d2ee086561f5511bad6dc..073b14fcb6f198829f02a42c4763d73f5e2e5e68 100755
--- a/sql-edition/servers/VendServer.py
+++ b/sql-edition/servers/VendServer.py
@@ -416,14 +416,14 @@ def make_selection(v, vstatus):
 			price, shortname, name = get_snack( '--' )
 		dollarprice = "$%.2f" % ( price / 100.0 )
 		v.display(vstatus.cur_selection+' - %s'%dollarprice)
-		exitcode = os.system('su - "%s" -c "dispense give oday %d"'%(vstatus.username, price))
+		exitcode = os.system('su - "%s" -c "dispense give oday %d"'%(vstatus.username, price)) >> 8
 		if (exitcode == 0):
 			# magic dispense syslog service
 			syslog.syslog(syslog.LOG_INFO | syslog.LOG_LOCAL4, "vended %s (slot %s) for %s" % (name, vstatus.cur_selection, vstatus.username))
 			v.vend(vstatus.cur_selection)
 			v.display('THANK YOU')
 		else:
-			syslog.syslog(syslog.LOG_INFO | syslog.LOG_LOCAL4, "failed vending %s (slot %s) for %s, code %d" % (name, vstatus.cur_selection, vstatus.username, exitcode))
+			syslog.syslog(syslog.LOG_INFO | syslog.LOG_LOCAL4, "failed vending %s (slot %s) for %s (code %d)" % (name, vstatus.cur_selection, vstatus.username, exitcode))
 			v.display('NO MONEY?')
 	sleep(1)