diff --git a/test/utest.cpp b/test/utest.cpp
index 2c3223d..361367e 100644
--- a/test/utest.cpp
+++ b/test/utest.cpp
@@ -48,8 +48,26 @@
     file.open(manifestFilePath, std::ofstream::out);
     ASSERT_TRUE(file.is_open());
 
-    file << "version=" << version << std::endl;
-    file << "purpose=" << purpose << std::endl;
+    file << "version=" << version << "\n";
+    file << "purpose=" << purpose << "\n";
+    file.close();
+
+    EXPECT_EQ(Version::getValue(manifestFilePath, "version"), version);
+    EXPECT_EQ(Version::getValue(manifestFilePath, "purpose"), purpose);
+}
+
+TEST_F(VersionTest, TestGetValueWithCRLF)
+{
+    auto manifestFilePath = _directory + "/" + "MANIFEST";
+    auto version = "test-version";
+    auto purpose = "BMC";
+
+    std::ofstream file;
+    file.open(manifestFilePath, std::ofstream::out);
+    ASSERT_TRUE(file.is_open());
+
+    file << "version=" << version << "\r\n";
+    file << "purpose=" << purpose << "\r\n";
     file.close();
 
     EXPECT_EQ(Version::getValue(manifestFilePath, "version"), version);
diff --git a/version.cpp b/version.cpp
index adaaeb9..91f478b 100644
--- a/version.cpp
+++ b/version.cpp
@@ -51,6 +51,12 @@
         efile.open(manifestFilePath);
         while (getline(efile, line))
         {
+            if (!line.empty() && line.back() == '\r')
+            {
+                // If the manifest has CRLF line terminators, e.g. is created on
+                // Windows, the line will contain \r at the end, remove it.
+                line.pop_back();
+            }
             if (line.compare(0, keySize, key) == 0)
             {
                 value = line.substr(keySize);
