shopping prevents double callback call