Function GetBackIssueObjectGET(variableName) Dim Pos,Key0,Key1 Set GetBackIssueObjectGET = CreateObject("Scripting.Dictionary") For Each Key In Request.QueryString Pos = InStr(Key,"[") If Not Pos = 0 Then Key1 = KeyName(Left(Key,Pos-1)) If Key1 = variableName Then Key2 = Right(Mid(Key,Pos+1, Len(Key)-Pos-1), 3) If InStr(Request.QueryString(Key),"Issue") = 0 Then GetBackIssueObjectGET.Item(Key2) = Request.QueryString(Key) Else GetBackIssueObjectGET.Item(Key2) = 1 End If End If End If Next End Function Dim BackIssues, BackIssuePrices, IssueKeys, i, x Set BackIssues = CreateObject("Scripting.Dictionary") Set BackIssuePrices = CreateObject("Scripting.Dictionary") BackIssues = GetBackIssueObjectGet("back_issue") BackIssuePrices = GetBackIssueObjectGet("price") Error Type: Microsoft VBScript runtime (0x800A000D) Type mismatch: 'GetBackIssueObjectGetGet' ******, line 20 Line 20: BackIssues = GetBackIssueObjectGetGet("back_issue") Not using Dim/Set still causes the problem.