diff --git a/c/auxiliary b/c/auxiliary
index 95039864846ec2a86bfa8ec4cc151b94b0ce687a..628d90f42a02730b7b94823b6e94c6267bf98d5f 100644
--- a/c/auxiliary
+++ b/c/auxiliary
@@ -90,11 +90,28 @@ extern _kernel_oserror *menu_update_size(MenuInternal *menu_int) {
       if (entry->icon_flags & wimp_ICONFLAGS_TEXT) {
          width = (entry->icon_data.indirect_text.buff_len+1)<<4;
       } else {
-         regs.r[0] = os_SpriteOp_ReadInfo;
-         regs.r[2] = (int) entry->icon_data.indirect_sprite.sprite.name;
+         /* IDJ: 22-May-95: bug-fix AQU-01264: look in user sprite area if
+            one is defined first, then in wimp sprite area as a
+            fall-back.
+         */
+         e = NULL;
+
+         if (entry->icon_data.indirect_sprite.sprite_area != (void *)1 /* user area */)
+         {
+            regs.r[0] = os_SpriteOp_ReadInfo + 256;
+            regs.r[1] = (int) entry->icon_data.indirect_sprite.sprite_area;
+            regs.r[2] = (int) entry->icon_data.indirect_sprite.sprite.name;
+
+            e = _kernel_swi (OS_SpriteOp, &regs, &regs);
+         }
 
-         if ((e = _kernel_swi (Wimp_SpriteOp, &regs, &regs)) != NULL) {
-            return e;
+         if (e != NULL || entry->icon_data.indirect_sprite.sprite_area == (void *)1 /* WIMP area */)
+         {
+            regs.r[0] = os_SpriteOp_ReadInfo;
+            regs.r[2] = (int) entry->icon_data.indirect_sprite.sprite.name;
+
+            if ((e = _kernel_swi (Wimp_SpriteOp, &regs, &regs)) != NULL)
+               return e;
          }
          width = regs.r[3];
          mode  = regs.r[6];
diff --git a/cmhg/Modhdr b/cmhg/Modhdr
index e259f005bc4eda0a0db0fc7d491964efef6e33d0..71288fd538a669061001f8f28cd788b838c459fc 100644
--- a/cmhg/Modhdr
+++ b/cmhg/Modhdr
@@ -33,7 +33,7 @@ service-call-handler:           Menu_services 0x44ec1, 0x44ec2, 0x44ec3
 
 title-string:                   Menu
 
-help-string:                    Menu 0.23
+help-string:                    Menu 0.24
 
 command-keyword-table:          Menu_commands
                                 Menu_Memory()
diff --git a/cmhg/Modhdr_NoD b/cmhg/Modhdr_NoD
index 3c033a702e545ffa1f6f2ffcec9c56fcbbf3ad34..66c33465d38fc1b03bd7f163ef2340706dc6a8eb 100644
--- a/cmhg/Modhdr_NoD
+++ b/cmhg/Modhdr_NoD
@@ -33,7 +33,7 @@ service-call-handler:           Menu_services 0x44ec1, 0x44ec2, 0x44ec3
 
 title-string:                   Menu
 
-help-string:                    Menu 0.23
+help-string:                    Menu 0.24
 
 swi-chunk-base-number:          0x828c0