diff --git a/silecs-diagnostic-cpp/src/silecs-diagnostic/silecsmodule.cpp b/silecs-diagnostic-cpp/src/silecs-diagnostic/silecsmodule.cpp
index 115f40deb844264bbbbfc8c8da1639bf04a5e606..5ca9d91db63502baba5789075837d2cf78f2585b 100755
--- a/silecs-diagnostic-cpp/src/silecs-diagnostic/silecsmodule.cpp
+++ b/silecs-diagnostic-cpp/src/silecs-diagnostic/silecsmodule.cpp
@@ -428,7 +428,17 @@ void silecsModule::setScalarDataInDeviceFromItem(Item *currentItem, std::string
             }
             case Date:
             {
-                qDebug() << "Date";
+                if(reg->isScalar())
+                {
+                    qDebug() << "Date";
+                    double val;
+                    if(!from_string<double>(val, stringValue, std::dec))
+                    {
+                        qDebug()<< "Conversion from string to Date failed";
+                        throw new std::string("Output buffer value of "+plcName+" / "+deviceName+" / "+registerName+ " must be a Date (Epoch value)");
+                    }
+                    reg->setValDate(val);
+                }
                 break;
             }
         }