diff --git a/include/DoocsProcessArray.h b/include/DoocsProcessArray.h
index 4c5d8eb7cc93fb555ec7bcb640b3418ad53cd456..fdcf999e08a830234403d3519b683aa78e7ad151 100644
--- a/include/DoocsProcessArray.h
+++ b/include/DoocsProcessArray.h
@@ -148,7 +148,12 @@ namespace ChimeraTK {
         memset(&info, 0, sizeof(info));
         info.sec = seconds;
         info.usec = microseconds;
-        info.ident = _macroPulseNumberSource->accessData(0);
+        if(_macroPulseNumberSource != nullptr) {
+          info.ident = _macroPulseNumberSource->accessData(0);
+        }
+        else {
+          info.ident = 0;
+        }
         auto ret = this->send(&info);
         if(ret) {
           std::cout << "ZeroMQ sending failed!!!" << std::endl;
diff --git a/include/DoocsProcessScalar.h b/include/DoocsProcessScalar.h
index b68e7123a0406493d3a74700a3993b2ab5c4a505..8f3b33009c51f2f84e233dadcfaa15fb7829220b 100644
--- a/include/DoocsProcessScalar.h
+++ b/include/DoocsProcessScalar.h
@@ -103,7 +103,12 @@ namespace ChimeraTK {
         memset(&info, 0, sizeof(info));
         info.sec = seconds;
         info.usec = microseconds;
-        info.ident = _macroPulseNumberSource->accessData(0);
+        if(_macroPulseNumberSource != nullptr) {
+          info.ident = _macroPulseNumberSource->accessData(0);
+        }
+        else {
+          info.ident = 0;
+        }
         auto ret = this->send(&info);
         if(ret) {
           std::cout << "ZeroMQ sending failed!!!" << std::endl;