diff --git a/Makefile b/Makefile
index 4a1253a052ec56df4fc650853d40d965ad2b0e04..642651d4ccda5ed126110c79d52270d351a0272d 100644
--- a/Makefile
+++ b/Makefile
@@ -97,8 +97,12 @@ include $(SRC_PATH)/doc/examples/Makefile
 libavcodec/utils.o libavformat/utils.o libavdevice/avdevice.o libavfilter/avfilter.o libavutil/utils.o libpostproc/postprocess.o libswresample/swresample.o libswscale/utils.o : libavutil/ffversion.h
 
 $(PROGS): %$(PROGSSUF)$(EXESUF): %$(PROGSSUF)_g$(EXESUF)
+ifeq ($(STRIPTYPE),direct)
+	$(STRIP) -o $@ $<
+else
 	$(CP) $< $@
 	$(STRIP) $@
+endif
 
 %$(PROGSSUF)_g$(EXESUF): $(FF_DEP_LIBS)
 	$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS)
diff --git a/configure b/configure
index 1e2721b134bfcdfcacf8bb92b1ecdf44cf2f1b8d..e9e1a4dff3b2ce1eef18d2ed947f5a7929009515 100755
--- a/configure
+++ b/configure
@@ -3363,6 +3363,7 @@ x86asmexe_default="nasm"
 windres_default="windres"
 nvcc_default="nvcc"
 nvccflags_default="-gencode arch=compute_30,code=sm_30 -O2"
+striptype="direct"
 
 # OS
 target_os_default=$(tolower $(uname -s))
@@ -5089,6 +5090,7 @@ case $target_os in
         ;;
     os/2*)
         strip="lxlite -CS"
+        striptype=""
         objformat="aout"
         add_cppflags -D_GNU_SOURCE
         add_ldflags -Zomf -Zbin-files -Zargs-wild -Zhigh-mem -Zmap
@@ -6834,6 +6836,7 @@ fi # test "$quiet" != "yes"
 test -e Makefile || echo "include $source_path/Makefile" > Makefile
 
 enabled stripping || strip="echo skipping strip"
+enabled stripping || striptype=""
 
 config_files="$TMPH ffbuild/config.mak doc/config.texi"
 
@@ -6877,6 +6880,7 @@ ARFLAGS=$arflags
 AR_O=$ar_o
 RANLIB=$ranlib
 STRIP=$strip
+STRIPTYPE=$striptype
 NVCC=$nvcc
 CP=cp -p
 LN_S=$ln_s