diff --git a/Components/9918/Implementation/9918Base.hpp b/Components/9918/Implementation/9918Base.hpp
index 9ecea6943..c0bb8c86d 100644
--- a/Components/9918/Implementation/9918Base.hpp
+++ b/Components/9918/Implementation/9918Base.hpp
@@ -350,11 +350,14 @@ class Base {
 
 				case MemoryAccess::Write:
 					if(master_system_.cram_is_selected) {
-						// Adjust the palette.
+						// Adjust the palette. In a Master System blue has a slightly different
+						// scale; cf. https://www.retrorgb.com/sega-master-system-non-linear-blue-channel-findings.html
+						constexpr uint8_t rg_scale[] = {0, 85, 170, 255};
+						constexpr uint8_t b_scale[] = {0, 104, 170, 255};
 						master_system_.colour_ram[ram_pointer_ & 0x1f] = palette_pack(
-							uint8_t(((read_ahead_buffer_ >> 0) & 3) * 255 / 3),
-							uint8_t(((read_ahead_buffer_ >> 2) & 3) * 255 / 3),
-							uint8_t(((read_ahead_buffer_ >> 4) & 3) * 255 / 3)
+							rg_scale[(read_ahead_buffer_ >> 0) & 3],
+							rg_scale[(read_ahead_buffer_ >> 2) & 3],
+							b_scale[(read_ahead_buffer_ >> 4) & 3]
 						);
 
 						// Schedule a CRAM dot; this is scheduled for wherever it should appear
diff --git a/Machines/Sinclair/ZX8081/ZX8081.cpp b/Machines/Sinclair/ZX8081/ZX8081.cpp
index ff3c6c170..c57e39f35 100644
--- a/Machines/Sinclair/ZX8081/ZX8081.cpp
+++ b/Machines/Sinclair/ZX8081/ZX8081.cpp
@@ -169,7 +169,7 @@ template<bool is_zx81> class ConcreteMachine:
 					}
 					if(!(address & 2)) nmi_is_enabled_ = false;
 					if(!(address & 1)) nmi_is_enabled_ = is_zx81;
-					if(!nmi_is_enabled_) z80_.set_wait_line(false);
+					if(is_zx81 && !nmi_is_enabled_) z80_.set_wait_line(false);
 
 					// The below emulates the ZonX AY expansion device.
 					if constexpr (is_zx81) {
diff --git a/OSBindings/Mac/Clock SignalTests/68000ComparativeTests.mm b/OSBindings/Mac/Clock SignalTests/68000ComparativeTests.mm
index 2f555f34c..cec3017f1 100644
--- a/OSBindings/Mac/Clock SignalTests/68000ComparativeTests.mm	
+++ b/OSBindings/Mac/Clock SignalTests/68000ComparativeTests.mm	
@@ -43,7 +43,7 @@
 	// Issue each test file.
 	for(NSURL *url in tests) {
 		// Compare against a file set if one has been supplied.
-		if(_fileSet && ![_fileSet containsObject:[[url path] lastPathComponent]]) continue;
+		if(_fileSet && ![_fileSet containsObject:[url lastPathComponent]]) continue;
 		NSLog(@"Testing %@", url);
 		[self testJSONAtURL:url];
 	}
diff --git a/OSBindings/Mac/Clock SignalTests/EmuTOSTests.mm b/OSBindings/Mac/Clock SignalTests/EmuTOSTests.mm
index ad5dbb163..9c50a04a5 100644
--- a/OSBindings/Mac/Clock SignalTests/EmuTOSTests.mm	
+++ b/OSBindings/Mac/Clock SignalTests/EmuTOSTests.mm	
@@ -107,7 +107,7 @@ class EmuTOS: public ComparativeBusHandler {
 	const std::vector<ROMMachine::ROM> rom_names = {{"AtariST", "", image.UTF8String, 0, 0 }};
 	const auto roms = CSROMFetcher()(rom_names);
 	NSString *const traceLocation = [[NSBundle bundleForClass:[self class]] pathForResource:trace ofType:@"trace.txt.gz"];
-	_machine = std::make_unique<EmuTOS>(*roms[0], traceLocation.UTF8String);
+	_machine = std::make_unique<EmuTOS>(*roms[0], traceLocation.fileSystemRepresentation);
 	_machine->run_for(HalfCycles(length));
 }