/* if we are passed a buffer use it, otherwise try the environment */
if (!env_hwconfig) {
- if (!(gd->flags & GD_FLG_ENV_READY)) {
+ if (!(gd->flags & GD_FLG_ENV_READY) && gd->env_valid != ENV_VALID) {
printf("WARNING: Calling __hwconfig without a buffer "
"and before environment is ready\n");
return NULL;