diff --git a/Source/System/NodeCores/Groups/Misc/OSGBillboard.cpp b/Source/System/NodeCores/Groups/Misc/OSGBillboard.cpp
index db8e5b1..bec3461 100644
--- a/Source/System/NodeCores/Groups/Misc/OSGBillboard.cpp
+++ b/Source/System/NodeCores/Groups/Misc/OSGBillboard.cpp
@@ -279,6 +279,12 @@ void Billboard::calcMatrix(const Matrix         &camToWorld,
 
         s    = vDir.cross(wUp);
         tDir = wUp .cross(s  );
+	n = getAxisOfRotation();
+	n[0] += n[1];
+	n[1] += n[2];
+	n[2] += n[0];
+	n -= n.dot(getAxisOfRotation())*getAxisOfRotation();
+	//std::cout << "up=" << wUp << ", look=" << vDir << ", side=" << s << ", nlook=" << tDir << std::endl;
 
         q1.setValue(n, tDir);
 
