diff --git a/encoder/basisu_comp.cpp b/encoder/basisu_comp.cpp
index 2241351..11719cd 100644
--- a/encoder/basisu_comp.cpp
+++ b/encoder/basisu_comp.cpp
@@ -29,6 +29,12 @@
 #include "../zstd/zstd.h"
 #endif
 
+// Set to 1 to enable the mipPadding alignment workaround (which only seems to be needed when no key-values are written at all)
+#define BASISU_DISABLE_KTX2_ALIGNMENT_WORKAROUND (0)
+
+// Set to 1 to disable writing all KTX2 key values, triggering the validator bug.
+#define BASISU_DISABLE_KTX2_KEY_VALUES (0)
+
 using namespace buminiz;
 
 #define BASISU_USE_STB_IMAGE_RESIZE_FOR_MIPMAP_GEN 0
@@ -1858,6 +1864,11 @@
 
 		key_values.sort();
 
+#if BASISU_DISABLE_KTX2_KEY_VALUES
+		// HACK HACK - Clear the key values array, which causes no key values to be written (triggering the ktx2check validator bug).
+		key_values.clear();
+#endif
+
 		uint8_vec key_value_data;
 
 		// DFD
@@ -1894,6 +1905,10 @@
 
 			if (header.m_supercompression_scheme != basist::KTX2_SS_NONE)
 				break;
+
+#if BASISU_DISABLE_KTX2_ALIGNMENT_WORKAROUND
+			break;
+#endif
 			
 			// Hack to ensure the KVD block ends on a 16 byte boundary, because we have no other official way of aligning the data.
 			uint32_t kvd_end_file_offset = kvd_file_offset + key_value_data.size();
@@ -1982,10 +1997,9 @@
 			uint32_t padding = (16 - ofs) & 15;
 
 			// Make sure we're always aligned here (due to a validator bug).
-			assert(!padding);
 			if (padding)
 			{
-				printf("WARNING: KTX2 mip level data is not 16-byte aligned! This will trigger a ktx2check validation bug.\n");
+				printf("Warning: KTX2 mip level data is not 16-byte aligned. This may trigger a ktx2check validation bug. Writing %u bytes of mipPadding.\n", padding);
 			}
 
 			for (uint32_t i = 0; i < padding; i++)
