赵光义的长子赵元佐自幼聪明机警,长得又像赵光义。赵元佐有武艺,善骑射,还曾经随赵光义出征过太原、幽蓟。本是最合适的皇储。不料赵元佐却因叔父赵廷美冤死而发疯。
雍熙二年(985年)重阳节,赵光义召集几个儿子在宫苑中设宴饮酒作乐,因赵元佐病未痊愈,就没有派人请他。散宴后,陈王赵元佑去看望赵元佐。赵元佐得知设宴一事,怒气难平,一个劲喝酒。到了半夜,索性放了一把火焚烧宫院。一时间,殿阁亭台,烟雾滚滚,火光冲天。赵光义得知后,猜想可能是赵元佐所为,便命人查问,赵元佐予以承认。赵元佐被废为庶人。其后以次陈王元佑成为众意所嘱的皇储人选,而赵光义也有此意。
雍熙三年(986年)农历七月,赵元佑改名赵元僖,并封开封府尹兼侍中,成了准皇储。同年,雍熙北伐失利。赵普上《谏雍熙北伐》奏疏,得到赵光义嘉赏。后来,赵元僖也上疏论及伐辽之事,为赵光义采纳。
端拱元年(988年),赵普第三次为相,威权一时又振。竭力支持和拉拢赵普的陈王元僖也晋封许王,更加巩固了皇储地位。赵普罢相后,赵元僖又与另一位宰相吕蒙正关系密切。立储之事正在按步就班地进行。不想在淳化三年(992年)农历十一月,赵元僖早朝回府,觉得身体不适,不久便去世了。赵光义极为悲伤,罢朝五日,并写下《思亡子诗》。
赵元佐被废,赵元僖暴死,储位储空缺,于是冯拯等人上疏请早立太子,赵光义便将冯拯等人贬到岭南。自此以后没有人敢议论继承问题。
后来,赵光义被箭伤所扰,自知将不久于人世。便就此私下询问寇准。在寇准的支持下,终于在至道元年(995年),赵光义三子寿王赵元侃被立为皇太子,改名赵恒。
赵光义册立太子,大赦天下,京师之人见到太子都欢呼,赵光义却闻而不悦。后在寇准的劝解下心情才好转。