diff --git a/FCHost/fchost/fchost_storage.cc b/FCHost/fchost/fchost_storage.cc
index 7f9c27a6fb1cf99e9c7d71d11689b55db8017ac4..666d9e6700f18bf25198e983b37c0b3bb1ed77b5 100644
--- a/FCHost/fchost/fchost_storage.cc
+++ b/FCHost/fchost/fchost_storage.cc
@@ -5,6 +5,8 @@
 #include <memory>
 #include <vector>
 
+static_assert(CEF_STRING_TYPE_UTF16);
+
 namespace fs = std::filesystem;
 
 namespace {
@@ -58,9 +60,9 @@ void FCHostPersistentStorage::set(const CefString& key, CefRefPtr<CefV8Value> va
 		// we should probably be doing this async but TBT Sugarcube is the slow part, not the file IO
 		std::unique_ptr<std::FILE, closeFile> fh;
 #if defined(OS_WIN)
-		fh.reset(_wfopen(get_filename(key).c_str(), L"w"));
+		fh.reset(_wfopen(get_filename(key).c_str(), L"wb"));
 #else
-		fh.reset(std::fopen(get_filename(key).c_str(), "w"));
+		fh.reset(std::fopen(get_filename(key).c_str(), "wb"));
 #endif
 		CefString valStr = val->GetStringValue();
 		if (valStr.size() > 0) {
@@ -93,16 +95,17 @@ void FCHostPersistentStorage::load()
 	for (const auto& entry: fs::directory_iterator(path)) {
 		if (fs::is_regular_file(entry.path())) {
 			const auto entrySize = fs::file_size(entry.path());
-			readbuf.resize(static_cast<std::size_t>(entrySize + 2)); // +1 wchar_t
+			readbuf.resize(static_cast<std::size_t>(entrySize + 2)); // +1 char16
 
 #if defined(OS_WIN)
-			fh.reset(_wfopen(entry.path().c_str(), L"r"));
+			fh.reset(_wfopen(entry.path().c_str(), L"rb"));
 #else
-			fh.reset(std::fopen(entry.path().c_str(), "r"));
+			fh.reset(std::fopen(entry.path().c_str(), "rb"));
 #endif
 			if (std::fread(&readbuf[0], entrySize, 1, fh.get())) {
 				readbuf[entrySize + 1] = readbuf[entrySize] = 0; // null terminate
-				CefString val = static_cast<const wchar_t*>(static_cast<const void*>(readbuf.data()));
+				CefString val;
+				val.FromString16(static_cast<const char16_t*>(static_cast<const void*>(readbuf.data())));
 				storage.emplace(entry.path().filename().native(), CefV8Value::CreateString(val));
 			}
 		}
diff --git a/src/facilities/surgery/surgeryPassageUpper.js b/src/facilities/surgery/surgeryPassageUpper.js
index 7edd8e9fcace77b4b824638fa8c16d6e894c70cb..4fd3a04b348c9b4beb4a086d7188f38b01122205 100644
--- a/src/facilities/surgery/surgeryPassageUpper.js
+++ b/src/facilities/surgery/surgeryPassageUpper.js
@@ -513,7 +513,6 @@ App.UI.surgeryPassageUpper = function(slave, refresh, cheat = false) {
 				} else {
 					if (V.surgeryUpgrade === 1) {
 						if (V.UterineRestraintMesh === 1) {
-							App.UI.DOM.appendNewElement("div", el, ``, ["choices", "note"]);
 							linkArray.push(App.Medicine.Surgery.makeLink(
 								new App.Medicine.Surgery.Procedures.InstallMesh(slave),
 								refresh, cheat));