diff --git a/libavcodec/jpeglsenc.c b/libavcodec/jpeglsenc.c
index 4273aa70ca67b11fea601e49b626955b34137d14..132ec89aae8e4276c36bb27afb6fb9f81d484184 100644
--- a/libavcodec/jpeglsenc.c
+++ b/libavcodec/jpeglsenc.c
@@ -32,6 +32,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 73db1dd1eb5becc8ae9d49b730982dd5705d5efc..0e62b2aeff9266bae4e0ed7bbad213ef1836c794 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 0: ret= 0; break;\
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 4553152279a10b5870d509af4aed165b1a814ccd..fb17993ea06aab5517eebb7d306d721c3cfbe5cd 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"
 #include "tiff.h"
 #include "exif.h"
 #include "bytestream.h"
diff --git a/libavcodec/mjpegenc.h b/libavcodec/mjpegenc.h
index 069d43c816153b9df11d53b8aa587692f288e712..ad2a55425e9a2539ab2e4510757dc43509ef1abe 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[12][64]);
diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c
index 8a5b99f227fb885b8aab24c025369d6c3cc62da9..de582d31eaeef5a282f2cf558e9947e90c45f401 100644
--- a/libavcodec/mjpegenc_common.c
+++ b/libavcodec/mjpegenc_common.c
@@ -30,6 +30,7 @@
 #include "avcodec.h"
 #include "idctdsp.h"
 #include "put_bits.h"
+#include "mjpegenc.h"
 #include "mjpegenc_common.h"
 #include "mjpeg.h"