diff --git a/libavformat/nut.h b/libavformat/nut.h
index 89b0248fa43090f0403bf81a08300347d6ec275d..8e5767d97dea3f6a4e867584c6f334fb7a837f3b 100644
--- a/libavformat/nut.h
+++ b/libavformat/nut.h
@@ -39,6 +39,8 @@
 
 #define MAX_DISTANCE (1024*32-1)
 
+#define NUT_VERSION 3
+
 typedef enum{
     FLAG_KEY        =   1, ///<if set, frame is keyframe
     FLAG_EOR        =   2, ///<if set, stream has no relevance on presentation. (EOR)
diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
index cee411b60164785753c5d7abda28d071dedd0ead..00c9ae36b7bba15cacf353cc0deab64a1a47bd87 100644
--- a/libavformat/nutdec.c
+++ b/libavformat/nutdec.c
@@ -213,7 +213,7 @@ static int decode_main_header(NUTContext *nut)
     end  = get_packetheader(nut, bc, 1, MAIN_STARTCODE);
     end += avio_tell(bc);
 
-    GET_V(tmp, tmp >= 2 && tmp <= 3);
+    GET_V(tmp, tmp >= 2 && tmp <= NUT_VERSION);
     GET_V(stream_count, tmp > 0 && tmp <= NUT_MAX_STREAMS);
 
     nut->max_distance = ffio_read_varlen(bc);
diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c
index df70f941221878a9b70c603f4cca4068d49ccc06..7234cd9ee02985682bc8f17535bec4e8439880ed 100644
--- a/libavformat/nutenc.c
+++ b/libavformat/nutenc.c
@@ -323,7 +323,7 @@ static void write_mainheader(NUTContext *nut, AVIOContext *bc)
         tmp_head_idx;
     int64_t tmp_match;
 
-    ff_put_v(bc, 3); /* version */
+    ff_put_v(bc, NUT_VERSION);
     ff_put_v(bc, nut->avf->nb_streams);
     ff_put_v(bc, nut->max_distance);
     ff_put_v(bc, nut->time_base_count);