diff --git a/src/client/common.h b/src/client/common.h
index 2ac604fb4d355fc2c3db963cbb39f0c417d290c6..ead5e68dbf575103a009ba1670e7de0a1e7c6c00 100644
--- a/src/client/common.h
+++ b/src/client/common.h
@@ -17,11 +17,15 @@
 typedef struct sItem {
 	char	*Type;
 	 int	ID;
-	 int	Status;	// 0: Availiable, 1: Sold out, -1: Error
+	 int	Status;	// 0: Available, 1: Sold out, -1: Error
 	char	*Desc;
 	 int	Price;
 }	tItem;
 
+#define ITEM_STATUS_AVAILABLE 0
+#define ITEM_STATUS_SOLDOUT 1
+#define ITEM_STATUS_ERROR -1
+
 enum eUI_Modes
 {
 	UI_MODE_BASIC,	// Non-NCurses
diff --git a/src/client/main.c b/src/client/main.c
index bd9bbc745dd757f3fad6b1141cd5b34c349630d2..600fdabc19b2f3176b1cfc8ae6af14e69f4a854f 100644
--- a/src/client/main.c
+++ b/src/client/main.c
@@ -191,8 +191,8 @@ int subcommand_finger(void)
 		const char *status;
 		switch(gaItems[i].Status)
 		{
-		case 0:	status = "Avail";	break;
-		case 1:	status = "Sold ";	break;
+		case ITEM_STATUS_AVAILABLE:	status = "Avail";	break;
+		case ITEM_STATUS_SOLDOUT:	status = "Sold ";	break;
 		default:
 			status = "Error";
 			break;
diff --git a/src/client/menu.c b/src/client/menu.c
index 1eaf10017681a47c9b27f51ae1dd47a7b40c856d..087821512c58e805809c95ad93977c503243a4de 100644
--- a/src/client/menu.c
+++ b/src/client/menu.c
@@ -272,7 +272,7 @@ int ShowItemAt(int Row, int Col, int Width, int Index, int bHilighted)
 {
 	char	*name = NULL;
 	 int	price = 0;
-	 int	status = -1;
+	 int	status = ITEM_STATUS_ERROR;
 	
 	switch(giUIMode)
 	{
@@ -333,7 +333,7 @@ int ShowItemAt(int Row, int Col, int Width, int Index, int bHilighted)
 			// Show hilight and status
 			switch( status )
 			{
-			case 0:
+			case ITEM_STATUS_AVAILABLE:
 				if( bHilighted ) {
 					color_set( COLOURPAIR_SELECTED, NULL );
 					printw("->  ");
@@ -348,14 +348,14 @@ int ShowItemAt(int Row, int Col, int Width, int Index, int bHilighted)
 					printw("    ");
 				}
 				break;
-			case 1:
+			case ITEM_STATUS_SOLDOUT:
 				attrset(A_BOLD);
 				color_set( COLOURPAIR_CANTBUY, NULL );
 				printw("SLD ");
 				break;
 			
 			default:
-			case -1:
+			case ITEM_STATUS_ERROR:
 				color_set( COLOURPAIR_CANTBUY, NULL );
 				printw("ERR ");
 				break;
@@ -373,8 +373,8 @@ int ShowItemAt(int Row, int Col, int Width, int Index, int bHilighted)
 		}
 	}
 	
-	// If the item isn't availiable for sale, return -1 (so it's skipped)
-	if( status > 0 || (price > giUserBalance && gbDisallowSelectWithoutBalance) )
+	// If the item isn't available for sale, return -1 (so it's skipped)
+	if( status == ITEM_STATUS_SOLDOUT || (price > giUserBalance && gbDisallowSelectWithoutBalance) )
 		Index = -2;
 	
 	return Index;
diff --git a/src/client/protocol.c b/src/client/protocol.c
index 079a4ff0d03814a3e285bdd246ebd73123d8c7f6..6332f2f066eed527db47a7f0a6624e02a38de797 100644
--- a/src/client/protocol.c
+++ b/src/client/protocol.c
@@ -393,11 +393,11 @@ int ReadItemInfo(int Socket, tItem *Dest)
 	Dest->ID = atoi( buf + matches[4].rm_so );
 	
 	if( strcmp(statusStr, "avail") == 0 )
-		Dest->Status = 0;
+		Dest->Status = ITEM_STATUS_AVAILABLE;
 	else if( strcmp(statusStr, "sold") == 0 )
-		Dest->Status = 1;
+		Dest->Status = ITEM_STATUS_SOLDOUT;
 	else if( strcmp(statusStr, "error") == 0 )
-		Dest->Status = -1;
+		Dest->Status = ITEM_STATUS_ERROR;
 	else {
 		fprintf(stderr, "Unknown response from dispense server (status '%s')\n",
 			statusStr);