class CallTreeLevelTwoPlusItemBase(CallGraphLevelItemBase):
 
-       def __init__(self, glb, params, row, comm_id, thread_id, calls_id, time, insn_cnt, cyc_cnt, branch_count, parent_item):
+       def __init__(self, glb, params, row, comm_id, thread_id, calls_id, call_time, time, insn_cnt, cyc_cnt, branch_count, parent_item):
                super(CallTreeLevelTwoPlusItemBase, self).__init__(glb, params, row, parent_item)
                self.comm_id = comm_id
                self.thread_id = thread_id
                self.calls_id = calls_id
+               self.call_time = call_time
+               self.time = time
                self.insn_cnt = insn_cnt
                self.cyc_cnt = cyc_cnt
                self.branch_count = branch_count
-               self.time = time
 
        def Select(self):
                self.query_done = True
 
 class CallTreeLevelThreeItem(CallTreeLevelTwoPlusItemBase):
 
-       def __init__(self, glb, params, row, comm_id, thread_id, calls_id, name, dso, count, time, insn_cnt, cyc_cnt, branch_count, parent_item):
-               super(CallTreeLevelThreeItem, self).__init__(glb, params, row, comm_id, thread_id, calls_id, time, insn_cnt, cyc_cnt, branch_count, parent_item)
+       def __init__(self, glb, params, row, comm_id, thread_id, calls_id, name, dso, call_time, time, insn_cnt, cyc_cnt, branch_count, parent_item):
+               super(CallTreeLevelThreeItem, self).__init__(glb, params, row, comm_id, thread_id, calls_id, call_time, time, insn_cnt, cyc_cnt, branch_count, parent_item)
                dso = dsoname(dso)
                if self.params.have_ipc:
                        insn_pcnt = PercentToOneDP(insn_cnt, parent_item.insn_cnt)
                        cyc_pcnt = PercentToOneDP(cyc_cnt, parent_item.cyc_cnt)
                        br_pcnt = PercentToOneDP(branch_count, parent_item.branch_count)
                        ipc = CalcIPC(cyc_cnt, insn_cnt)
-                       self.data = [ name, dso, str(count), str(time), PercentToOneDP(time, parent_item.time), str(insn_cnt), insn_pcnt, str(cyc_cnt), cyc_pcnt, ipc, str(branch_count), br_pcnt ]
+                       self.data = [ name, dso, str(call_time), str(time), PercentToOneDP(time, parent_item.time), str(insn_cnt), insn_pcnt, str(cyc_cnt), cyc_pcnt, ipc, str(branch_count), br_pcnt ]
                else:
-                       self.data = [ name, dso, str(count), str(time), PercentToOneDP(time, parent_item.time), str(branch_count), PercentToOneDP(branch_count, parent_item.branch_count) ]
+                       self.data = [ name, dso, str(call_time), str(time), PercentToOneDP(time, parent_item.time), str(branch_count), PercentToOneDP(branch_count, parent_item.branch_count) ]
                self.dbid = calls_id
 
 # Call tree data model level two item
 class CallTreeLevelTwoItem(CallTreeLevelTwoPlusItemBase):
 
        def __init__(self, glb, params, row, comm_id, thread_id, pid, tid, parent_item):
-               super(CallTreeLevelTwoItem, self).__init__(glb, params, row, comm_id, thread_id, 0, 0, 0, 0, 0, parent_item)
+               super(CallTreeLevelTwoItem, self).__init__(glb, params, row, comm_id, thread_id, 0, 0, 0, 0, 0, 0, parent_item)
                if self.params.have_ipc:
                        self.data = [str(pid) + ":" + str(tid), "", "", "", "", "", "", "", "", "", "", ""]
                else: