diff --git a/sql-edition/servers/VendServer.py b/sql-edition/servers/VendServer.py
index f68cf1a93bfafa272e9ebf530caf08b84e6a514f..9da6648cb96632e5b792f0becd633e3e03bb826f 100755
--- a/sql-edition/servers/VendServer.py
+++ b/sql-edition/servers/VendServer.py
@@ -94,10 +94,13 @@ class DispenseDatabase:
 
 def scroll_options(username, mk, welcome = False):
 	if welcome:
-	    # Balance checking: crap code, [DAA]'s fault
-	    acct = os.popen('dispense acct %s' % username)
-		balance = acct.read()[15:22]
-		acct.close()
+		# Balance checking: crap code, [DAA]'s fault
+		# Updated 2011 to handle new dispense [MRD]
+		raw_acct = os.popen('dispense acct %s' % username)
+		acct = raw_acct.read()
+		# this is fucking appalling
+		balance = acct[acct.find("$")+1:acct.find("(")].strip()
+		raw_acct.close()
         
 		msg = [(center('WELCOME'), False, TEXT_SPEED),
 			   (center(username), False, TEXT_SPEED),
@@ -437,7 +440,7 @@ 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)) >> 8
+		exitcode = os.system('su - "%s" -c "dispense give \>snacksales %d \'%s\'"'%(vstatus.username, price, name)) >> 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))