diff --git a/pub/src/func.cpp b/pub/src/func.cpp
index 8699d1a3cd5148b6bcba5740d00385700b7ed154..27a3ab26ef6326b069fe9f38841ba73c68f882f4 100644
--- a/pub/src/func.cpp
+++ b/pub/src/func.cpp
@@ -352,7 +352,9 @@ CCoord CFunc::coord(class CCoord *co1, class CCoord *co2) const
 
     if (s=="+" || s=="-") {
         co.name = co1->name + s + co2->name;
-        if (co2->unit != co1->unit) {
+        if ( co1->unit=="" )
+            co.unit = "";
+        else if ( co2->unit!="" && co2->unit != co1->unit) {
             cout << "? different units " << co1->unit << " and " <<
                 co2->unit << " in additive operation\n";
             co.unit = "";