diff --git a/aegisub/libaegisub/common/charset_6937.cpp b/aegisub/libaegisub/common/charset_6937.cpp
index e85e1bbe5ce99f787d823ffbc3065382f2826e7d..e45ed4fdbfb4f1139d7086a4031e16d738074261 100644
--- a/aegisub/libaegisub/common/charset_6937.cpp
+++ b/aegisub/libaegisub/common/charset_6937.cpp
@@ -115,6 +115,8 @@ struct extended_range {
 	const int value;
 };
 
+#ifdef _MSC_VER
+// Needed for msvc's debug assertions
 bool operator<(extended_range const& lft, extended_range const& rgt) {
 	return lft.codepoint < rgt.codepoint;
 }
@@ -122,6 +124,7 @@ bool operator<(extended_range const& lft, extended_range const& rgt) {
 bool operator<(int lft, extended_range const& rgt) {
 	return lft < rgt.codepoint;
 }
+#endif
 
 bool operator<(extended_range const& lft, int rgt) {
 	return lft.codepoint < rgt;
diff --git a/aegisub/src/dialog_export_ebu3264.cpp b/aegisub/src/dialog_export_ebu3264.cpp
index 4a6199a4e8542668b0deda6bf9b08d0bcf4aeadb..4a33b43d192172aafe93820f184097f81b8cd3f5 100644
--- a/aegisub/src/dialog_export_ebu3264.cpp
+++ b/aegisub/src/dialog_export_ebu3264.cpp
@@ -92,7 +92,7 @@ namespace {
 
 	public:
 		TimecodeValidator(EbuTimecode *target) : value(target) { assert(target); }
-		TimecodeValidator(TimecodeValidator const& other) : value(other.value) { }
+		TimecodeValidator(TimecodeValidator const& other) : wxValidator(other), value(other.value) { }
 	};
 } // namespace {
 
diff --git a/aegisub/src/validators.h b/aegisub/src/validators.h
index 2839dee8953d7d9bae5013ac8354678cb31964b9..d4c5bd121e8f5eb0e7f251cdc4cf3b31f89a91c3 100644
--- a/aegisub/src/validators.h
+++ b/aegisub/src/validators.h
@@ -84,7 +84,7 @@ class EnumBinder : public wxValidator {
 
 public:
 	explicit EnumBinder(T *value) : value(value) { }
-	EnumBinder(EnumBinder const& rhs) : value(rhs.value) { }
+	EnumBinder(EnumBinder const& rhs) : wxValidator(rhs), value(rhs.value) { }
 };
 
 template<typename T>