diff --git a/common/include/software.hpp b/common/include/software.hpp
index a8477bf..2993707 100644
--- a/common/include/software.hpp
+++ b/common/include/software.hpp
@@ -58,9 +58,6 @@
                     SoftwareVersion::VersionPurpose versionPurpose =
                         SoftwareVersion::VersionPurpose::Unknown);
 
-    // Return the version purpose
-    SoftwareVersion::VersionPurpose getPurpose();
-
     // This should populate 'softwareAssociationDefinitions'
     // @param isRunning             if the software version is currently running
     // on the device. Otherwise the software is assumed to be activating (not
@@ -88,6 +85,10 @@
     static long int getRandomId();
 
   protected:
+    // @returns the version purpose
+    // @returns std::nullopt in case the version has not been set
+    std::optional<SoftwareVersion::VersionPurpose> getPurpose();
+
     // @returns        a random software id (swid) for that device
     static std::string getRandomSoftwareId(device::Device& parent);
 
@@ -118,6 +119,7 @@
     sdbusplus::async::context& ctx;
 
     friend update::SoftwareUpdate;
+    friend device::Device;
 };
 
 }; // namespace phosphor::software
diff --git a/common/src/device.cpp b/common/src/device.cpp
index bba2d2b..7e39e0a 100644
--- a/common/src/device.cpp
+++ b/common/src/device.cpp
@@ -165,7 +165,8 @@
     softwarePending->setActivation(ActivationInterface::Activations::Ready);
 
     softwarePending->setVersion(componentVersion,
-                                softwareCurrent->getPurpose());
+                                softwareCurrent->getPurpose().value_or(
+                                    SoftwareVersion::VersionPurpose::Unknown));
 
     std::string objPath = softwarePending->objectPath;
 
diff --git a/common/src/software.cpp b/common/src/software.cpp
index 819f7be..d20451d 100644
--- a/common/src/software.cpp
+++ b/common/src/software.cpp
@@ -128,8 +128,12 @@
     version->purpose(versionPurpose);
 }
 
-SoftwareVersion::VersionPurpose Software::getPurpose()
+std::optional<SoftwareVersion::VersionPurpose> Software::getPurpose()
 {
+    if (!version)
+    {
+        return std::nullopt;
+    }
     return version->purpose();
 }
 
