diff --git a/Makefile.am b/Makefile.am
index 42cdcbf..e6c85c5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -39,7 +39,6 @@
 
 noinst_LTLIBRARIES = libfirmware_common.la
 libfirmware_common_la_SOURCES = \
-	util.cpp \
 	internal/sys.cpp
 libfirmware_common_la_CXXFLAGS = \
 	$(CODE_COVERAGE_CXXFLAGS) \
diff --git a/bmc/firmware_handler.cpp b/bmc/firmware_handler.cpp
index ccd76d3..d71cc9f 100644
--- a/bmc/firmware_handler.cpp
+++ b/bmc/firmware_handler.cpp
@@ -464,18 +464,18 @@
     }
 
     Session* curr;
-    const std::string* active;
+    const char* active;
 
     if (path == hashBlobId)
     {
         /* 2c) are they opening the /flash/hash ? (to start the process) */
         curr = &activeHash;
-        active = &activeHashBlobId;
+        active = activeHashBlobId;
     }
     else
     {
         curr = &activeImage;
-        active = &activeImageBlobId;
+        active = activeImageBlobId;
     }
 
     curr->flags = flags;
@@ -484,7 +484,7 @@
 
     lookup[session] = curr;
 
-    addBlobId(*active);
+    addBlobId(active);
     removeBlobId(verifyBlobId);
 
     changeState(UpdateState::uploadInProgress);
diff --git a/cleanup/Makefile.am b/cleanup/Makefile.am
index 3623f7f..8f20a48 100644
--- a/cleanup/Makefile.am
+++ b/cleanup/Makefile.am
@@ -4,8 +4,7 @@
 noinst_LTLIBRARIES = libfirmwarecleanupblob_common.la
 libfirmwarecleanupblob_common_la_SOURCES = \
 	cleanup.cpp \
-	fs.cpp \
-	$(top_srcdir)/util.cpp
+	fs.cpp
 libfirmwarecleanupblob_common_la_CXXFLAGS = \
 	-flto
 libfirmwarecleanupblob_common_la_LDFLAGS = \
diff --git a/util.cpp b/util.cpp
deleted file mode 100644
index 04ae17f..0000000
--- a/util.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2019 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "util.hpp"
-
-namespace ipmi_flash
-{
-
-const std::string biosBlobId = "/flash/bios";
-const std::string updateBlobId = "/flash/update";
-const std::string verifyBlobId = "/flash/verify";
-const std::string hashBlobId = "/flash/hash";
-const std::string activeImageBlobId = "/flash/active/image";
-const std::string activeHashBlobId = "/flash/active/hash";
-const std::string staticLayoutBlobId = "/flash/image";
-const std::string ubiTarballBlobId = "/flash/tarball";
-const std::string cleanupBlobId = "/flash/cleanup";
-
-} // namespace ipmi_flash
diff --git a/util.hpp b/util.hpp
index 8a386e1..e5197dd 100644
--- a/util.hpp
+++ b/util.hpp
@@ -1,18 +1,16 @@
 #pragma once
 
-#include <string>
-
 namespace ipmi_flash
 {
 
-extern const std::string biosBlobId;
-extern const std::string updateBlobId;
-extern const std::string verifyBlobId;
-extern const std::string hashBlobId;
-extern const std::string activeImageBlobId;
-extern const std::string activeHashBlobId;
-extern const std::string staticLayoutBlobId;
-extern const std::string ubiTarballBlobId;
-extern const std::string cleanupBlobId;
+inline constexpr char biosBlobId[] = "/flash/bios";
+inline constexpr char updateBlobId[] = "/flash/update";
+inline constexpr char verifyBlobId[] = "/flash/verify";
+inline constexpr char hashBlobId[] = "/flash/hash";
+inline constexpr char activeImageBlobId[] = "/flash/active/image";
+inline constexpr char activeHashBlobId[] = "/flash/active/hash";
+inline constexpr char staticLayoutBlobId[] = "/flash/image";
+inline constexpr char ubiTarballBlobId[] = "/flash/tarball";
+inline constexpr char cleanupBlobId[] = "/flash/cleanup";
 
 } // namespace ipmi_flash
