diff --git a/include/nif_versions.h b/include/nif_versions.h
index 4aee3f8f00b2dedca846212525dacb167074c36d..b96e4975610426c9686e84cb381895ad668bea38 100644
--- a/include/nif_versions.h
+++ b/include/nif_versions.h
@@ -27,6 +27,7 @@ const unsigned VER_20_0_0_4    = 0x14000004; /*!< NIF Version 20.0.0.4 */
 const unsigned VER_20_0_0_5    = 0x14000005; /*!< NIF Version 20.0.0.4 */ 
 const unsigned VER_20_1_0_3    = 0x14010003; /*!< NIF Version 20.1.0.3 */ 
 const unsigned VER_20_2_0_7    = 0x14020007; /*!< NIF Version 20.2.0.7 */ 
+const unsigned VER_20_2_0_8    = 0x14020008; /*!< NIF Version 20.2.0.7 */ 
 const unsigned VER_20_3_0_3    = 0x14030003; /*!< NIF Version 20.3.0.3 */ 
 const unsigned VER_20_3_0_6    = 0x14030006; /*!< NIF Version 20.3.0.6 */ 
 const unsigned VER_UNSUPPORTED = 0xFFFFFFFF; /*!< Unsupported NIF Version */
diff --git a/src/NIF_IO.cpp b/src/NIF_IO.cpp
index 31152e2e6ba8ac4fd3efb71ad4e176098e24fdfb..db0f7b4292f809b737f4553423ba6e180e6ce450 100644
--- a/src/NIF_IO.cpp
+++ b/src/NIF_IO.cpp
@@ -357,6 +357,8 @@ void NifStream( HeaderString & val, istream& in, NifInfo & info ) {
 		ver_start = 32;
 	} else if ( val.header.substr(0, 20) == "Gamebryo File Format" ) {
 		ver_start = 30;
+	} else if ( val.header.substr(0, 6) == "NDSNIF" ) {
+		ver_start = 30;
 	} else {
 		//Not a NIF file
 		info.version = VER_INVALID;
diff --git a/src/niflib.cpp b/src/niflib.cpp
index 4153ff527579ab0542374fa188fb36583695e716..29463832f968db5b20b4ad8d5361fde0d0b5f58f 100644
--- a/src/niflib.cpp
+++ b/src/niflib.cpp
@@ -1093,6 +1093,7 @@ bool IsSupportedVersion( unsigned int version ) {
 		case VER_20_0_0_5:
 		case VER_20_1_0_3:
 		case VER_20_2_0_7:
+		case VER_20_2_0_8:
 		case VER_20_3_0_3:
 		case VER_20_3_0_6:
 			return true;