diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp
index bf516015b6270ca680a0a8c367cec5540aee3d4a..6def5ffb45ae6e2be731d127d0e667859524080c 100644
--- a/obs/window-basic-main.cpp
+++ b/obs/window-basic-main.cpp
@@ -624,12 +624,16 @@ OBSScene OBSBasic::GetCurrentScene()
 	return item ? item->data(Qt::UserRole).value<OBSScene>() : nullptr;
 }
 
-OBSSceneItem OBSBasic::GetCurrentSceneItem()
+OBSSceneItem OBSBasic::GetSceneItem(QListWidgetItem *item)
 {
-	QListWidgetItem *item = ui->sources->currentItem();
 	return item ? item->data(Qt::UserRole).value<OBSSceneItem>() : nullptr;
 }
 
+OBSSceneItem OBSBasic::GetCurrentSceneItem()
+{
+	return GetSceneItem(ui->sources->currentItem());
+}
+
 void OBSBasic::UpdateSources(OBSScene scene)
 {
 	ui->sources->clear();
diff --git a/obs/window-basic-main.hpp b/obs/window-basic-main.hpp
index 516c179d3c9e109357a86ef0b57cd630a5b25785..c46258c5a0121c13086a5986b891b3a6c51e8f87 100644
--- a/obs/window-basic-main.hpp
+++ b/obs/window-basic-main.hpp
@@ -120,6 +120,7 @@ private:
 
 	void          InitPrimitives();
 
+	OBSSceneItem  GetSceneItem(QListWidgetItem *item);
 	OBSSceneItem  GetCurrentSceneItem();
 
 	bool          QueryRemoveSource(obs_source_t source);