diff --git a/src/OpenFOAM/primitives/zero/zero.H b/src/OpenFOAM/primitives/zero/zero.H
index ca997cae22655fce389bcc23d43b1ad59462a916..8c2f6fb37aebfffff077a29d72c3b2ad2b8f7605 100644
--- a/src/OpenFOAM/primitives/zero/zero.H
+++ b/src/OpenFOAM/primitives/zero/zero.H
@@ -36,6 +36,8 @@ SourceFiles
 #ifndef zero_H
 #define zero_H
 
+#include "label.H"
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -51,15 +53,38 @@ public:
 
     zero()
     {}
+
+    //- Return 0 for label
+    inline operator label() const
+    {
+        return 0;
+    }
+
+    //- Return 0 for float
+    inline operator float() const
+    {
+        return 0;
+    }
+
+    //- Return 0 for double
+    inline operator double() const
+    {
+        return 0;
+    }
 };
 
+
+// Global zero
+static const zero Zero;
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-    #include "zeroI.H"
+#include "zeroI.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //