diff --git a/libavcodec/jpeglsenc.c b/libavcodec/jpeglsenc.c
index 3af64126695c9484dc4a26cf4e14d79beff82b99..f7dec30956d58ded02b0e88862dfdd2eec2a35af 100644
--- a/libavcodec/jpeglsenc.c
+++ b/libavcodec/jpeglsenc.c
@@ -31,6 +31,7 @@
 #include "internal.h"
 #include "mathops.h"
 #include "mjpeg.h"
+#include "mjpegenc.h"
 #include "jpegls.h"
 
 /**
diff --git a/libavcodec/mjpeg.h b/libavcodec/mjpeg.h
index bd3b1e855e28c2ab891061e22d3031543deab429..8b7bf8d8222366acce55494de56aa94b7f0aaf3a 100644
--- a/libavcodec/mjpeg.h
+++ b/libavcodec/mjpeg.h
@@ -36,7 +36,6 @@
 #include "libavutil/internal.h"
 
 #include "avcodec.h"
-#include "put_bits.h"
 
 /* JPEG marker codes */
 typedef enum {
@@ -120,12 +119,6 @@ typedef enum {
     /* 0x02 -> 0xbf reserved */
 } JPEG_MARKER;
 
-static inline void put_marker(PutBitContext *p, int code)
-{
-    put_bits(p, 8, 0xff);
-    put_bits(p, 8, code);
-}
-
 #define PREDICT(ret, topleft, top, left, predictor)\
     switch(predictor){\
         case 1: ret= left; break;\
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 82cee48354d969d561e6adf622e0160c206a4b90..12b0a4192be524263e560d4f1ee0091305a0dd30 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -41,6 +41,7 @@
 #include "mjpeg.h"
 #include "mjpegdec.h"
 #include "jpeglsdec.h"
+#include "put_bits.h"
 
 
 static int build_vlc(VLC *vlc, const uint8_t *bits_table,
diff --git a/libavcodec/mjpegenc.h b/libavcodec/mjpegenc.h
index a4d684caf6ee01a033284792f195deb034d8b6ca..eec4d2554dbb61ffa680ce087bcc5eb666bca6d7 100644
--- a/libavcodec/mjpegenc.h
+++ b/libavcodec/mjpegenc.h
@@ -36,6 +36,7 @@
 #include <stdint.h>
 
 #include "mpegvideo.h"
+#include "put_bits.h"
 
 typedef struct MJpegContext {
     uint8_t huff_size_dc_luminance[12]; //FIXME use array [3] instead of lumi / chrom, for easier addressing
@@ -49,6 +50,12 @@ typedef struct MJpegContext {
     uint16_t huff_code_ac_chrominance[256];
 } MJpegContext;
 
+static inline void put_marker(PutBitContext *p, int code)
+{
+    put_bits(p, 8, 0xff);
+    put_bits(p, 8, code);
+}
+
 int  ff_mjpeg_encode_init(MpegEncContext *s);
 void ff_mjpeg_encode_close(MpegEncContext *s);
 void ff_mjpeg_encode_mb(MpegEncContext *s, int16_t block[8][64]);
diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c
index adb335e5e19045192995d5ecd25eecca1c7a61f5..f2a829fd335ae1e076c1353d712d86e28780bdb6 100644
--- a/libavcodec/mjpegenc_common.c
+++ b/libavcodec/mjpegenc_common.c
@@ -28,6 +28,7 @@
 #include "avcodec.h"
 #include "idctdsp.h"
 #include "put_bits.h"
+#include "mjpegenc.h"
 #include "mjpegenc_common.h"
 #include "mjpeg.h"