Restore original behavior
Better implementation