diff --git a/pcsx2/USB/usb-eyetoy/cam-windows.cpp b/pcsx2/USB/usb-eyetoy/cam-windows.cpp
index 2617ad5f60..679e923544 100644
--- a/pcsx2/USB/usb-eyetoy/cam-windows.cpp
+++ b/pcsx2/USB/usb-eyetoy/cam-windows.cpp
@@ -444,28 +444,24 @@ namespace usb_eyetoy
 
 		int DirectShow::Close()
 		{
-			if (sourcefilter != nullptr)
+			if (sourcefilter)
 			{
 				this->Stop();
 				pControl->Stop();
 
-				sourcefilter->Release();
-				pSourceConfig->Release();
-				samplegrabberfilter->Release();
-				samplegrabber->Release();
-				nullrenderer->Release();
-				sourcefilter = nullptr;
+				safe_release(sourcefilter);
+				safe_release(pSourceConfig);
+				safe_release(samplegrabberfilter);
+				safe_release(samplegrabber);
+				safe_release(nullrenderer);
 			}
 
-			pGraphBuilder->Release();
-			pGraph->Release();
-			pControl->Release();
+			safe_release(pGraphBuilder);
+			safe_release(pGraph);
+			safe_release(pControl);
 
-			if (mpeg_buffer.start != nullptr)
-			{
-				free(mpeg_buffer.start);
-				mpeg_buffer.start = nullptr;
-			}
+			free(mpeg_buffer.start);
+			mpeg_buffer.start = nullptr;
 			return 0;
 		};