Preheat oven to 180 degrees C. Grease one 20x30cm cake tin.
In a small saucepan combine 125g butter, 125g margarine, 60g chocolate and water. Heat until chocolate is melted; set aside.
In a large bowl combine flour, sugar, cinnamon and bicarb soda. Make a well in the centre and pour in buttermilk, eggs and vanilla. Add melted butter/chocolate mixture and beat until smooth. Pour batter into prepared pan.
Bake in preheated oven for 20 to 25 minutes or until cake tests done. Five minutes before cake is done, make icing.
To make icing: In a saucepan combine 125g butter, 60g chocolate and 6 tablespoons milk. Heat until bubbles form around the edge; remove from heat. Beat in icing sugar, 1 teaspoon vanilla and nuts. Ice cake while still warm. Allow to cool totally before cutting.