diff -u -r angband-290/src/store.c angband/src/store.c
--- angband-290/src/store.c	Mon Apr 10 07:42:30 2000
+++ angband/src/store.c	Thu Apr 27 22:01:18 2000
@@ -729,6 +729,13 @@
 }
 
 
+static bool is_blessed(object_type *o_ptr)
+{
+	u32b f1, f2, f3;
+	object_flags(o_ptr, &f1, &f2, &f3);
+	if (f3 & TR3_BLESSED) return (TRUE);
+	else return (FALSE);
+}
 
 
 /*
@@ -745,7 +752,7 @@
 	switch (store_num)
 	{
 		/* General Store */
-		case 0:
+		case STORE_GENERAL:
 		{
 			/* Analyze the type */
 			switch (o_ptr->tval)
@@ -767,7 +774,7 @@
 		}
 
 		/* Armoury */
-		case 1:
+		case STORE_ARMOR:
 		{
 			/* Analyze the type */
 			switch (o_ptr->tval)
@@ -789,7 +796,7 @@
 		}
 
 		/* Weapon Shop */
-		case 2:
+		case STORE_WEAPON:
 		{
 			/* Analyze the type */
 			switch (o_ptr->tval)
@@ -810,7 +817,7 @@
 		}
 
 		/* Temple */
-		case 3:
+		case STORE_TEMPLE:
 		{
 			/* Analyze the type */
 			switch (o_ptr->tval)
@@ -820,6 +827,11 @@
 				case TV_POTION:
 				case TV_HAFTED:
 				break;
+				case TV_POLEARM:
+				case TV_SWORD:
+				{
+					if (is_blessed(o_ptr)) break;
+				}
 				default:
 				return (FALSE);
 			}
@@ -827,7 +839,7 @@
 		}
 
 		/* Alchemist */
-		case 4:
+		case STORE_ALCHEMY:
 		{
 			/* Analyze the type */
 			switch (o_ptr->tval)
@@ -842,7 +854,7 @@
 		}
 
 		/* Magic Shop */
-		case 5:
+		case STORE_MAGIC:
 		{
 			/* Analyze the type */
 			switch (o_ptr->tval)


