LCD bargraph not displaying correctly

I think I found it. Seems to be a difference between the old LiquidCrystal and LiquidCrystal_I2C.

Original code from blog:

void setup()   {

  delay(100);
  lcd.createChar(0, p1);
  lcd.createChar(1, p2);
  lcd.createChar(2, p3);
  lcd.createChar(3, p4);
  lcd.createChar(4, p5);

  lcd.begin(16, 2);

}

I moved lcd.begin(16,2); up so it is executed before lcd.createChar set of commands, like so:

void setup()   {

  delay(100);
  lcd.begin(16, 2);      // moved to here, works with LiquidCrystal_I2C
  lcd.createChar(0, p1);
  lcd.createChar(1, p2);
  lcd.createChar(2, p3);
  lcd.createChar(3, p4);
  lcd.createChar(4, p5);

//   lcd.begin(16, 2);

}