Kotlin: cómo acceder a las properties en el constructor

Considera seguir class:

class Test() { init { log(foo) } val foo = "Bar" } 

Cuando instalo Test produce una NullPointerException porque foo no parece haberse inicializado. ¿Este comportamiento es realmente intencional? ¿Hay alguna solución?