diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h
index 0f798fc..dde55fb 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h
@@ -149,7 +149,6 @@
 	std::string _name;
 	MVKMTLCommandBufferID _nextMTLCmdBuffID;
 	MVKGPUCaptureScope* _submissionCaptureScope;
-	MVKGPUCaptureScope* _presentationCaptureScope;
 };
 
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
index a53754c..595ea60 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
@@ -192,20 +192,18 @@
 void MVKQueue::initGPUCaptureScopes() {
 	const MVKConfiguration* pMVKConfig = getInstance()->getMoltenVKConfiguration();
 
-	_submissionCaptureScope = new MVKGPUCaptureScope(this, "CommandBuffer-Submission");
+	_submissionCaptureScope = new MVKGPUCaptureScope(this);
 
-	_presentationCaptureScope = new MVKGPUCaptureScope(this, "Surface-Presentation");
 	if (_queueFamily->getIndex() == pMVKConfig->defaultGPUCaptureScopeQueueFamilyIndex &&
 		_index == pMVKConfig->defaultGPUCaptureScopeQueueIndex) {
-		_presentationCaptureScope->makeDefault();
+		_submissionCaptureScope->makeDefault();
 	}
-	_presentationCaptureScope->beginScope();	// Allow Xcode to capture the first frame if desired.
+	_submissionCaptureScope->beginScope();	// Allow Xcode to capture the first frame if desired.
 }
 
 MVKQueue::~MVKQueue() {
 	destroyExecQueue();
 	_submissionCaptureScope->destroy();
-	_presentationCaptureScope->destroy();
 }
 
 // Destroys the execution dispatch queue.
@@ -359,7 +357,7 @@
 	[mtlCmdBuff commit];
 
 	// Let Xcode know the current frame is done, then start a new frame
-	auto cs = _queue->_presentationCaptureScope;
+	auto cs = _queue->_submissionCaptureScope;
 	cs->endScope();
 	cs->beginScope();
 
diff --git a/MoltenVK/MoltenVK/OS/MVKGPUCapture.h b/MoltenVK/MoltenVK/OS/MVKGPUCapture.h
index a89533f..c45aa65 100644
--- a/MoltenVK/MoltenVK/OS/MVKGPUCapture.h
+++ b/MoltenVK/MoltenVK/OS/MVKGPUCapture.h
@@ -49,12 +49,11 @@
 	void makeDefault();
 
 	/**
-	 * Constructs an instance for the specified queue and purpose.
+	 * Constructs an instance for the specified queue.
 	 *
-	 * The purpose is combined with the name of the queue to create a unique identification name
-	 * for this instance, which will be displayed in Xcode when selecting a capture scope to use.
+	 * If the queue has a debug name, it will be displayed in Xcode when selecting a capture scope to use.
 	 */
-	MVKGPUCaptureScope(MVKQueue* mvkQueue, const char* purpose);
+	MVKGPUCaptureScope(MVKQueue* mvkQueue);
 
 	~MVKGPUCaptureScope() override;
 
diff --git a/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm b/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm
index de7d961..bcffe97 100644
--- a/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm
+++ b/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm
@@ -56,13 +56,11 @@
 	}
 }
 
-MVKGPUCaptureScope::MVKGPUCaptureScope(MVKQueue* mvkQueue, const char* purpose) : _queue(mvkQueue) {
+MVKGPUCaptureScope::MVKGPUCaptureScope(MVKQueue* mvkQueue) : _queue(mvkQueue) {
 	_mtlQueue = [_queue->getMTLCommandQueue() retain];	// retained
 	if (mvkOSVersionIsAtLeast(kMinOSVersionMTLCaptureScope)) {
-		NSString* nsQLbl = [[NSString alloc] initWithUTF8String: (_queue->getName() + "-" + purpose).c_str()];		// temp retained
 		_mtlCaptureScope = [[MTLCaptureManager sharedCaptureManager] newCaptureScopeWithCommandQueue: _mtlQueue];	// retained
-		_mtlCaptureScope.label = nsQLbl;
-		[nsQLbl release];																							// release temp
+		_mtlCaptureScope.label = @(_queue->getName().c_str());
 	}
 }
 
