diff -Naur --exclude=Makefile XBlast-TNT.orig/mi_player.c XBlast-TNT/mi_player.c
--- XBlast-TNT.orig/mi_player.c	2002-05-24 18:49:26.000000000 +0200
+++ XBlast-TNT/mi_player.c	2003-01-08 11:08:57.000000000 +0100
@@ -94,7 +94,6 @@
   /* create item */
   player = calloc (1, sizeof (*player) );
   assert (player != NULL);
-  MenuSetItem (&player->item, MIT_Player, x, y, w, 2*CELL_H, NULL, NULL, NULL, MenuPlayerPoll);
   /* set player specific data */
   player->id        = id;
   player->ptrConfig = ptrConfig;
@@ -105,6 +104,7 @@
   player->anime     = anime;
   player->animeMask = 0;
   /* that's all */
+  MenuSetItem (&player->item, MIT_Player, x, y, w, 2*CELL_H, NULL, NULL, NULL, MenuPlayerPoll);
   return &player->item;
 } /* CreateMenuPlayer */
 
diff -Naur --exclude=Makefile XBlast-TNT.orig/x11c_sprite.c XBlast-TNT/x11c_sprite.c
--- XBlast-TNT.orig/x11c_sprite.c	2002-05-25 14:11:49.000000000 +0200
+++ XBlast-TNT/x11c_sprite.c	2003-01-08 15:25:03.000000000 +0100
@@ -108,6 +108,8 @@
   for (j = 0; j < MAX_ANIME_PPM; j ++) {
     pixPpmSpriteBits[j] = ReadRgbPixmap (imgPathSprite, imgFileSpritePpm[j]);
     pixPpmSpriteMask[j] = ReadPbmBitmap (imgPathSprite, imgFileSpritePpm[j]);
+    assert(None != pixPpmSpriteBits[j]);
+    assert(None != pixPpmSpriteMask[j]);
     if ( (None == pixPpmSpriteBits[j]) || (None == pixPpmSpriteMask[j]) ) {
       return XBFalse;
     }
@@ -147,6 +149,16 @@
   assert (config != NULL);
 
   if (! ComparePlayerGraphics (config, gfxPlayer + player) ) {
+
+
+	  if (ATOM_INVALID == config->shape)
+	  {
+		  printf("******************************************************\n");
+		  printf("**** WARNING This is a big hack !!!!! \n");
+		  printf("******************************************************\n");
+		  return XBTrue;
+	  }
+	  
     /* graphics has changed => delete all loaded pixmaps */
     for (i = 0; i < MAX_ANIME_EPM; i ++) {
       if (None != pixEpmSpriteBits[player][i]) {

