(view as text)
diff --git a/Source/Core/Core/Src/PowerPC/JitCommon/JitBase.h b/Source/Core/Core/Src/PowerPC/JitCommon/JitBase.h
index 2beb58d..b133da0 100644
--- a/Source/Core/Core/Src/PowerPC/JitCommon/JitBase.h
+++ b/Source/Core/Core/Src/PowerPC/JitCommon/JitBase.h
@@ -25,7 +25,7 @@
 #include "../../HW/GPFifo.h"
 #include "../../HW/Memmap.h"
 
-#include <set>
+#include <unordered_set>
 
 class JitBase : public CPUCoreBase
 {
@@ -70,7 +70,7 @@ protected:
 
 		JitBlock *curBlock;
 
-		std::set<u32> fifoWriteAddresses;
+		std::unordered_set<u32> fifoWriteAddresses;
 	};
 
 public:
diff --git a/Source/Core/VideoCommon/Src/BPMemory.cpp b/Source/Core/VideoCommon/Src/BPMemory.cpp
index 7272ed0..7bc976a 100644
--- a/Source/Core/VideoCommon/Src/BPMemory.cpp
+++ b/Source/Core/VideoCommon/Src/BPMemory.cpp
@@ -19,15 +19,18 @@ void LoadBPReg(u32 value0)
 	int opcode = value0 >> 24;
 	int oldval = ((u32*)&bpmem)[opcode];
 	int newval = (oldval & ~bpmem.bpMask) | (value0 & bpmem.bpMask);
-	int changes = (oldval ^ newval) & 0xFFFFFF;
 
-	BPCmd bp = {opcode, changes, newval};
-
-	//reset the mask register
 	if (opcode != 0xFE)
+	{
+		//reset the mask register
 		bpmem.bpMask = 0xFFFFFF;
 
-	BPWritten(bp);
+		int changes = (oldval ^ newval) & 0xFFFFFF;
+		BPCmd bp = {opcode, changes, newval};
+		BPWritten(bp);
+	}
+	else
+		bpmem.bpMask = newval;
 }
 
 void GetBPRegInfo(const u8* data, char* name, size_t name_size, char* desc, size_t desc_size)