char            env_buf[32];    /* buffer for getenv() before reloc. */
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
        unsigned long   post_log_word; /* Record POST activities */
+       unsigned long   post_log_res; /* success of POST test */
        unsigned long   post_init_f_time; /* When post_init_f started */
 #endif
 } gd_t;
 
        unsigned long env_valid;        /* Checksum of Environment valid? */
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
        unsigned long post_log_word;    /* Record POST activities */
+       unsigned long post_log_res;     /* success of POST test */
        unsigned long post_init_f_time; /* When post_init_f started */
 #endif
 
 
        unsigned long   env_valid;      /* Checksum of Environment valid */
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
        unsigned long   post_log_word;  /* Record POST activities */
+       unsigned long   post_log_res; /* success of POST test */
        unsigned long   post_init_f_time; /* When post_init_f started */
 #endif
        void            **jt;           /* Standalone app jump table */
 
 #endif
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
        unsigned long   post_log_word;  /* Record POST activities */
+       unsigned long   post_log_res; /* success of POST test */
        unsigned long   post_init_f_time;  /* When post_init_f started */
 #endif
 #ifdef CONFIG_BOARD_TYPES
 
 #endif
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
        unsigned long post_log_word;    /* Record POST activities */
+       unsigned long post_log_res;     /* success of POST test */
        unsigned long post_init_f_time; /* When post_init_f started */
 #endif
 #ifdef CONFIG_BOARD_TYPES
 
 
        /* Reset activity record */
        gd->post_log_word = 0;
+       gd->post_log_res = 0;
 }
 
 int post_bootmode_get (unsigned int *last_test)
 /* POST tests run before relocation only mark status bits .... */
 static void post_log_mark_start ( unsigned long testid )
 {
-       gd->post_log_word |= (testid)<<16;
+       gd->post_log_word |= testid;
 }
 
 static void post_log_mark_succ ( unsigned long testid )
 {
-       gd->post_log_word |= testid;
+       gd->post_log_res |= testid;
 }
 
 /* ... and the messages are output once we are relocated */
        int j;
 
        for (j = 0; j < post_list_size; j++) {
-               if (gd->post_log_word & (post_list[j].testid<<16)) {
+               if (gd->post_log_word & (post_list[j].testid)) {
                        post_log ("POST %s ", post_list[j].cmd);
-                       if (gd->post_log_word & post_list[j].testid)
+                       if (gd->post_log_res & post_list[j].testid)
                                post_log ("PASSED\n");
                        else {
                                post_log ("FAILED\n");