diff --git a/doc/fftools-common-opts.texi b/doc/fftools-common-opts.texi
index 7f192f71aec5d1e05f0409148aef9cfda2a3460c..c362a170fb81e4c83f88ca493136ecce662f4cfd 100644
--- a/doc/fftools-common-opts.texi
+++ b/doc/fftools-common-opts.texi
@@ -84,7 +84,8 @@ Set the logging level used by the library.
 
 By default the program logs to stderr, if coloring is supported by the
 terminal, colors are used to mark errors and warnings. Log coloring
-can be disabled setting the environment variable @env{NO_COLOR}, or can
-be forced setting the environment variable @env{FFMPEG_FORCE_COLOR}.
+can be disabled setting the environment variable
+@env{FFMPEG_FORCE_NOCOLOR} or @env{NO_COLOR}, or can be forced setting
+the environment variable @env{FFMPEG_FORCE_COLOR}.
 
 @end table
diff --git a/libavutil/log.c b/libavutil/log.c
index 1975bab396af9b43f807b67293f1964ab36805c3..0388e0a816e8da09c2c0d55c2c26a0d5123ee698 100644
--- a/libavutil/log.c
+++ b/libavutil/log.c
@@ -62,9 +62,10 @@ static void colored_fputs(int level, const char *str){
             background = attr_orig & 0xF0;
         }
 #elif HAVE_ISATTY
-        use_color= !getenv("NO_COLOR") && (getenv("TERM") && isatty(2) || getenv("FFMPEG_FORCE_COLOR"));
+        use_color= !getenv("NO_COLOR") && !getenv("FFMPEG_FORCE_NOCOLOR") &&
+            (getenv("TERM") && isatty(2) || getenv("FFMPEG_FORCE_COLOR"));
 #else
-        use_color= getenv("FFMPEG_FORCE_COLOR") && !getenv("NO_COLOR");
+        use_color= getenv("FFMPEG_FORCE_COLOR") && !getenv("NO_COLOR") && !getenv("FFMPEG_FORCE_NOCOLOR");
 #endif
     }