diff --git a/indra/llcommon/lleventdispatcher.cpp b/indra/llcommon/lleventdispatcher.cpp
index 2ab006a173a8b90878c16d14324f6eedaffd1fc0..e00cca366fc19465ebc44b1b406d0fff6058aeb6 100644
--- a/indra/llcommon/lleventdispatcher.cpp
+++ b/indra/llcommon/lleventdispatcher.cpp
@@ -443,7 +443,8 @@ struct LLEventDispatcher::ArrayParamsDispatchEntry: public LLEventDispatcher::Pa
     {
         LLSD array(LLSD::emptyArray());
         // Resize to number of arguments required
-        array[mArity - 1] = LLSD();
+        if (mArity)
+            array[mArity - 1] = LLSD();
         llassert_always(array.size() == mArity);
         meta["required"] = array;
         return meta;