Duemilanove startup

I am using Duemilanove fro temperature and humidity logging. As a sensor I am using SHT11 and displaying data on HD44780 based LCD 2x16. Problem I am having is that board is not starting up always. Sometimes randomly it starts normally. For power I am using USB cable or separate DC plug. Software is linux (64bit) 0012 or self compiled 0013. Same happens with both.
The board seems to start normal function if I press button on the board of I pipe output with 'tail –f /dev/ttyUSB0'. I have not set Serial comms.

I have been scratching my head with this problem and I don't know where to go next.

Code I am using is below.

#include <Sensirion.h>
#include <LiquidCrystal.h>
#define SHTdataPin  15
#define SHTclockPin 16

float temperature;
float humidity;
float dewpoint;

Sensirion tempSensor = Sensirion(SHTdataPin, SHTclockPin);
LiquidCrystal lcd(5, 6, 7, 8, 9, 3, 4);
void setup(void) {
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Thermo v0.1");
  delay(1000);
  lcd.clear();
}

void loop(void) {
  tempSensor.measure(&temperature, &humidity, &dewpoint);

  lcd.setCursor(0,0);
  lcd.print("Tmp C");
  lcd.setCursor(6,0);
  lcd.print("Hum %");
  lcd.setCursor(12,0);
  lcd.print("Dew C");
  lcd.setCursor(0,1);

  lcd.print(temperature);
  lcd.setCursor(6,1);
  lcd.print(humidity);
  lcd.setCursor(12,1);
  lcd.print(dewpoint);
  delay(1000);
}