diff --git a/src/test/estoraged_test.cpp b/src/test/estoraged_test.cpp
index ca0e21f..bd6db0d 100644
--- a/src/test/estoraged_test.cpp
+++ b/src/test/estoraged_test.cpp
@@ -44,6 +44,7 @@
     const uint8_t testLifeTime = 25;
     const std::string testPartNumber = "12345678";
     const std::string testSerialNumber = "ABCDEF1234";
+    const std::string testLocationCode = "U102020";
     std::ofstream testFile;
     std::string passwordString;
     std::vector<uint8_t> password;
@@ -88,7 +89,7 @@
         esObject = std::make_unique<estoraged::EStoraged>(
             *objectServer, testConfigPath, testFileName, testLuksDevName,
             testSize, testLifeTime, testPartNumber, testSerialNumber,
-            std::move(cryptIface), std::move(fsIface));
+            testLocationCode, std::move(cryptIface), std::move(fsIface));
     }
 
     void TearDown() override
diff --git a/src/test/util_test.cpp b/src/test/util_test.cpp
index b85fca0..5f8dca5 100644
--- a/src/test/util_test.cpp
+++ b/src/test/util_test.cpp
@@ -107,6 +107,8 @@
     data.emplace(std::string("Type"),
                  estoraged::BasicVariantType("EmmcDevice"));
     data.emplace(std::string("Name"), estoraged::BasicVariantType("emmc"));
+    data.emplace(std::string("LocationCode"),
+                 estoraged::BasicVariantType("U102020"));
 
     /* Create a dummy device. */
     std::filesystem::create_directories("abc/device");
@@ -128,14 +130,16 @@
 
     /* Look for the device file. */
     std::filesystem::path deviceFile, sysfsDir;
-    std::string luksName;
+    std::string luksName, locationCode;
     EXPECT_TRUE(estoraged::util::findDevice(data, std::filesystem::path("./"),
-                                            deviceFile, sysfsDir, luksName));
+                                            deviceFile, sysfsDir, luksName,
+                                            locationCode));
 
     /* Validate the results. */
     EXPECT_EQ("/dev/mmcblk0", deviceFile.string());
     EXPECT_EQ("./mmcblk0/device", sysfsDir.string());
     EXPECT_EQ("luks-mmcblk0", luksName);
+    EXPECT_EQ("U102020", locationCode);
 
     /* Delete the dummy files. */
     EXPECT_EQ(3U, std::filesystem::remove_all("mmcblk0"));
@@ -171,9 +175,10 @@
 
     /* Look for the device file. */
     std::filesystem::path deviceFile, sysfsDir;
-    std::string luksName;
+    std::string luksName, locationCode;
     EXPECT_FALSE(estoraged::util::findDevice(data, std::filesystem::path("./"),
-                                             deviceFile, sysfsDir, luksName));
+                                             deviceFile, sysfsDir, luksName,
+                                             locationCode));
 
     /* Delete the dummy files. */
     EXPECT_EQ(3U, std::filesystem::remove_all("mmcblk0"));
@@ -211,9 +216,10 @@
 
     /* Look for the device file. */
     std::filesystem::path deviceFile, sysfsDir;
-    std::string luksName;
+    std::string luksName, locationCode;
     EXPECT_FALSE(estoraged::util::findDevice(data, std::filesystem::path("./"),
-                                             deviceFile, sysfsDir, luksName));
+                                             deviceFile, sysfsDir, luksName,
+                                             locationCode));
 
     /* Delete the dummy files. */
     EXPECT_EQ(3U, std::filesystem::remove_all("mmcblk0"));
@@ -244,9 +250,10 @@
 
     /* Look for the device file. */
     std::filesystem::path deviceFile, sysfsDir;
-    std::string luksName;
+    std::string luksName, locationCode;
     EXPECT_FALSE(estoraged::util::findDevice(data, std::filesystem::path("./"),
-                                             deviceFile, sysfsDir, luksName));
+                                             deviceFile, sysfsDir, luksName,
+                                             locationCode));
 
     /* Delete the dummy files. */
     EXPECT_EQ(3U, std::filesystem::remove_all("abc"));
