diff --git a/drivers/media/platform/s5p-fimc/fimc-mdevice.c b/drivers/media/platform/s5p-fimc/fimc-mdevice.c
index 3c76bd948fdb47d51b17521b19e97a6d226ea2eb..e2aa8d99d8584fb34ce0e5182892720d53e1363b 100644
--- a/drivers/media/platform/s5p-fimc/fimc-mdevice.c
+++ b/drivers/media/platform/s5p-fimc/fimc-mdevice.c
@@ -617,6 +617,7 @@ static int __fimc_md_create_flite_source_links(struct fimc_md *fmd)
  */
 static int fimc_md_create_links(struct fimc_md *fmd)
 {
+	struct v4l2_subdev *csi_sensors[2] = { NULL };
 	struct v4l2_subdev *sensor, *csis;
 	struct s5p_fimc_isp_info *pdata;
 	struct fimc_sensor_info *s_info;
@@ -659,6 +660,7 @@ static int fimc_md_create_links(struct fimc_md *fmd)
 				  sensor->entity.name, csis->entity.name);
 
 			source = NULL;
+			csi_sensors[pdata->mux_id] = sensor;
 			break;
 
 		case FIMC_ITU_601...FIMC_ITU_656:
@@ -684,9 +686,10 @@ static int fimc_md_create_links(struct fimc_md *fmd)
 			continue;
 		source = &fmd->csis[i].sd->entity;
 		pad = CSIS_PAD_SOURCE;
+		sensor = csi_sensors[i];
 
 		link_mask = 1 << fimc_id++;
-		ret = __fimc_md_create_fimc_sink_links(fmd, source, NULL,
+		ret = __fimc_md_create_fimc_sink_links(fmd, source, sensor,
 						       pad, link_mask);
 	}