diff --git a/indra/llmessage/llqueryflags.h b/indra/llmessage/llqueryflags.h
index 9b3074edca1c9d7b53497a7120ddf262621fdf95..cb2302f9b6482b9a80d546a6b529f712413ea9e5 100644
--- a/indra/llmessage/llqueryflags.h
+++ b/indra/llmessage/llqueryflags.h
@@ -38,7 +38,7 @@
 const U32 DFQ_PEOPLE			= 0x1 << 0;
 const U32 DFQ_ONLINE			= 0x1 << 1;
 //const U32 DFQ_PLACES			= 0x1 << 2;
-const U32 DFQ_EVENTS			= 0x1 << 3;
+const U32 DFQ_EVENTS			= 0x1 << 3; // This is not set by the 1.21 viewer, but I don't know about older versions. JC
 const U32 DFQ_GROUPS			= 0x1 << 4;
 const U32 DFQ_DATE_EVENTS		= 0x1 << 5;
 
diff --git a/indra/lscript/lscript_execute.h b/indra/lscript/lscript_execute.h
index f46256eb5e9dfbc042b9c337a2772b3136884ee6..271b53aae18b4f09dbebc0f543eec631704c41c5 100644
--- a/indra/lscript/lscript_execute.h
+++ b/indra/lscript/lscript_execute.h
@@ -443,6 +443,12 @@ class LLScriptExecute
 	void setReset(BOOL b) {mReset = b;}
 	BOOL getReset() const { return mReset; }
 
+	// Called when the script is scheduled to be run from newsim/LLScriptData
+	virtual void startRunning() = 0;
+
+	// Called when the script is scheduled to be stopped from newsim/LLScriptData
+	virtual void stopRunning() = 0;
+	
 private:
 
 	BOOL mReset;
@@ -523,6 +529,12 @@ class LLScriptExecuteLSL2 : public LLScriptExecute
 private:
 	void		recordBoundaryError( const LLUUID &id );
 	void		setStateEventOpcoodeStartSafely( S32 state, LSCRIPTStateEventType event, const LLUUID &id );
+
+	// Called when the script is scheduled to be run from newsim/LLScriptData
+	virtual void startRunning();
+
+	// Called when the script is scheduled to be stopped from newsim/LLScriptData
+	virtual void stopRunning();
 };
 
 #endif
diff --git a/indra/lscript/lscript_execute/lscript_execute.cpp b/indra/lscript/lscript_execute/lscript_execute.cpp
index e863c1668e391203a1125c2463d126136bf33fa1..fe2167aec83b2a262b5a368d6b786a9266bf07d9 100644
--- a/indra/lscript/lscript_execute/lscript_execute.cpp
+++ b/indra/lscript/lscript_execute/lscript_execute.cpp
@@ -60,6 +60,9 @@ const char* LSCRIPTRunTimeFaultStrings[LSRF_EOF] =		/*Flawfinder: ignore*/
 	"CLI Exception" // LSRF_CLI
 };
 
+void LLScriptExecuteLSL2::startRunning() {}
+void LLScriptExecuteLSL2::stopRunning() {}
+
 LLScriptExecuteLSL2::LLScriptExecuteLSL2(LLFILE *fp)
 {
 	U8  sizearray[4];
diff --git a/indra/newview/llassetuploadqueue.cpp b/indra/newview/llassetuploadqueue.cpp
index c52c189d56c06fee1e41a35d3d5feed25c6347e8..34dc65f168286ab1bdb35e1b7cf035dca44100ae 100644
--- a/indra/newview/llassetuploadqueue.cpp
+++ b/indra/newview/llassetuploadqueue.cpp
@@ -150,7 +150,7 @@ void LLAssetUploadQueue::request(LLAssetUploadQueueSupplier** supplier)
 	LLViewerObject* object = gObjectList.findObject(data.mTaskId);
 	if (object)
 	{
-		url = object->getRegion()->getCapability("UpdateScriptTaskInventory");
+		url = object->getRegion()->getCapability("UpdateScriptTask");
 		LLHTTPClient::post(url, body,
 							new LLAssetUploadChainResponder(
 								body, data.mFilename, data.mQueueId, 
diff --git a/indra/newview/llcompilequeue.cpp b/indra/newview/llcompilequeue.cpp
index 30d5dc206f185a12505f3a5602662e801219c2f9..d3041c6206d482137bd12ca913c5f205a8bb2b7e 100644
--- a/indra/newview/llcompilequeue.cpp
+++ b/indra/newview/llcompilequeue.cpp
@@ -422,7 +422,7 @@ void LLFloaterCompileQueue::scriptArrived(LLVFS *vfs, const LLUUID& asset_id,
 		LLViewerObject* object = gObjectList.findObject(data->mTaskId);
 		if (object)
 		{
-			std::string url = object->getRegion()->getCapability("UpdateScriptTaskInventory");
+			std::string url = object->getRegion()->getCapability("UpdateScriptTask");
 			if(!url.empty())
 			{
 				// Read script source in to buffer.
diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp
index 71733e5cd7e8a5432fa641d772ac8842dd070806..c6c0fb21a8d0722879f59b7b86747092af1451e1 100644
--- a/indra/newview/llpreviewscript.cpp
+++ b/indra/newview/llpreviewscript.cpp
@@ -142,7 +142,7 @@ const F32 LIVE_HELP_REFRESH_TIME = 1.f;
 static bool have_script_upload_cap(LLUUID& object_id)
 {
 	LLViewerObject* object = gObjectList.findObject(object_id);
-	return object && (! object->getRegion()->getCapability("UpdateScriptTaskInventory").empty());
+	return object && (! object->getRegion()->getCapability("UpdateScriptTask").empty());
 }
 
 /// ---------------------------------------------------------------------------
@@ -1291,7 +1291,7 @@ void LLPreviewLSL::saveIfNeeded()
 
 	const LLInventoryItem *inv_item = getItem();
 	// save it out to asset server
-	std::string url = gAgent.getRegion()->getCapability("UpdateScriptAgentInventory");
+	std::string url = gAgent.getRegion()->getCapability("UpdateScriptAgent");
 	if(inv_item)
 	{
 		getWindow()->incBusyCount();
@@ -2131,7 +2131,7 @@ void LLLiveLSLEditor::saveIfNeeded()
 	fp = NULL;
 	
 	// save it out to asset server
-	std::string url = object->getRegion()->getCapability("UpdateScriptTaskInventory");
+	std::string url = object->getRegion()->getCapability("UpdateScriptTask");
 	getWindow()->incBusyCount();
 	mPendingUploads++;
 	BOOL is_running = getChild<LLCheckBoxCtrl>( "running")->get();
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 52cbcf85a9f78d602935b459a2a02f4b715b8d60..af16bdd201fafd6409dd3f027b5bdf501a4a1ed7 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -6513,7 +6513,7 @@ class LLEditableSelectedMono : public view_listener_t
 		LLViewerRegion* region = gAgent.getRegion();
 		if(region && gMenuHolder && gMenuHolder->findControl(userdata["control"].asString()))
 		{
-			bool have_cap = (! region->getCapability("UpdateScriptTaskInventory").empty());
+			bool have_cap = (! region->getCapability("UpdateScriptTask").empty());
 			bool selected = is_editable_selected() && have_cap;
 			gMenuHolder->findControl(userdata["control"].asString())->setValue(selected);
 			return true;
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index 42ea36baec87b5e1e87ba80fcdd521208ea535dd..bfb082885cea16460b017c3288c05fadaccdff67 100644
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -1408,10 +1408,10 @@ void LLViewerRegion::setSeedCapability(const std::string& url)
 	capabilityNames.append("UpdateAgentLanguage");
 	capabilityNames.append("UpdateGestureAgentInventory");
 	capabilityNames.append("UpdateNotecardAgentInventory");
-	capabilityNames.append("UpdateScriptAgentInventory");
+	capabilityNames.append("UpdateScriptAgent");
 	capabilityNames.append("UpdateGestureTaskInventory");
 	capabilityNames.append("UpdateNotecardTaskInventory");
-	capabilityNames.append("UpdateScriptTaskInventory");
+	capabilityNames.append("UpdateScriptTask");
 	capabilityNames.append("ViewerStartAuction");
 	capabilityNames.append("UntrustedSimulatorMessage");
 	capabilityNames.append("ViewerStats");
diff --git a/indra/test/CMakeLists.txt b/indra/test/CMakeLists.txt
index 03c4731de5f70082f381a16d79719a3ce654436d..37ad170467aed53a56dc5eade58a6683196085be 100644
--- a/indra/test/CMakeLists.txt
+++ b/indra/test/CMakeLists.txt
@@ -143,6 +143,7 @@ if (EXISTS /etc/debian_version_FAIL)
       --mode=static
       --output=${CMAKE_CURRENT_BINARY_DIR}/py_test_results.txt
       --touch=${CMAKE_CURRENT_BINARY_DIR}/py_tests_ok.txt
+      --mode=static
     DEPENDS test.py
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
     COMMENT "Python unit tests"