diff --git a/cinelerra-5.1/cinelerra/videodevice.C b/cinelerra-5.1/cinelerra/videodevice.C
index 3ca744b4..2f279b6c 100644
--- a/cinelerra-5.1/cinelerra/videodevice.C
+++ b/cinelerra-5.1/cinelerra/videodevice.C
@@ -348,6 +348,8 @@ int VideoDevice::is_compressed(int use_file, int use_fixed)
 
 void VideoDevice::fix_asset(Asset *asset, int driver)
 {
+
+	int override = 0;
 // Fix asset using legacy routine
 	const char *vcodec = 0;
 	switch(driver) {
@@ -355,17 +357,26 @@ void VideoDevice::fix_asset(Asset *asset, int driver)
 	case CAPTURE_IEC61883:
 	case CAPTURE_FIREWIRE:
 		vcodec = CODEC_TAG_DVSD;
+		if (asset->format != FILE_RAWDV )
+		override = 1;
 		break;
 #endif
 	case VIDEO4LINUX2JPEG:
 		vcodec = CODEC_TAG_MJPEG;
+		if (asset->format != FILE_JPEG_LIST)
+		override = 1;
 		break;
 
 	case CAPTURE_JPEG_WEBCAM:
 		vcodec = CODEC_TAG_JPEG;
+		if (asset->format != FILE_JPEG_LIST)
+		override = 1;
 		break;
 	}
+	
 	if( vcodec ) {
+		//printf("override: %i \n", override);
+		if (override)
 		asset->format = FILE_FFMPEG;
 		strcpy(asset->vcodec, vcodec);
 		return;
