diff --git a/test/media_device/media_device_acquire.cpp b/test/media_device/media_device_acquire.cpp
new file mode 100644
index 0000000000000000..d1e3d74439e1c513
--- /dev/null
+++ b/test/media_device/media_device_acquire.cpp
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2019, Google Inc.
+ *
+ *  media_device_acquire.cpp- Test acquire/release of a MediaDevice
+ */
+
+#include "media_device_test.h"
+
+using namespace libcamera;
+
+class MediaDeviceAcquire : public MediaDeviceTest
+{
+	int run()
+	{
+		if (!media_->acquire())
+			return TestFail;
+
+		if (media_->acquire())
+			return TestFail;
+
+		media_->release();
+
+		if (!media_->acquire())
+			return TestFail;
+
+		media_->release();
+
+		return TestPass;
+	}
+};
+
+TEST_REGISTER(MediaDeviceAcquire);
diff --git a/test/media_device/media_device_print_test.cpp b/test/media_device/media_device_print_test.cpp
index ceffd538e13fca73..30d929b8c76387a7 100644
--- a/test/media_device/media_device_print_test.cpp
+++ b/test/media_device/media_device_print_test.cpp
@@ -113,17 +113,6 @@ int MediaDevicePrintTest::testMediaDevice(const string deviceNode)
 	MediaDevice dev(deviceNode);
 	int ret;
 
-	/* Fuzzy open/close sequence. */
-	ret = dev.open();
-	if (ret)
-		return ret;
-
-	ret = dev.open();
-	if (!ret)
-		return ret;
-
-	dev.close();
-
 	ret = dev.populate();
 	if (ret)
 		return ret;
diff --git a/test/media_device/meson.build b/test/media_device/meson.build
index 364b4ecf662077ac..05bf7c9b8de335d2 100644
--- a/test/media_device/meson.build
+++ b/test/media_device/meson.build
@@ -3,6 +3,7 @@ libmediadevicetest_sources = files([
 ])
 
 media_device_tests = [
+    ['media_device_acquire',            'media_device_acquire.cpp'],
     ['media_device_print_test',         'media_device_print_test.cpp'],
     ['media_device_link_test',          'media_device_link_test.cpp'],
 ]
