Sachverhalt: A. Der 1960 geborene E._, Maschineningenieur ETH, ist seit einem am 14. Juli 1984 (während seines Studiums) erlittenen Unfall querschnittgelähmt und seit einer im Jahre 1990 erlittenen Syringomyelie noch zu 50 % arbeitsfähig. Ab 1. Juni 1990 bezog er eine ganze (Invaliditätsgrad: 100 %) und ab 1. Dezember 1990 eine halbe Invalidenrente (Invaliditätsgrad: 50 %). In den Jahren 1997, 2000 und 2006 vorgenommene Überprüfungen des Rentenanspruchs ergaben keine rentenbeeinflussende Änderung des Invaliditätsgrades. Mit Schreiben vom 15. Dezember 2006 teilte E._ der IV-Stelle des Kantons Aargau mit, er habe sein Arbeitspensum auf Druck seiner Arbeitgeberin mit Wirkung ab 1. Januar 2007 von 50 auf 60 % erhöht. Nach Durchführung des Vorbescheidverfahrens setzte die Verwaltung die bisherige Rente mit Wirkung ab 1. September 2007 auf eine Viertelsrente herab (Verfügung vom 12. Juli 2007). B. Die von E._ hiegegen erhobene Beschwerde wies das Versicherungsgericht des Kantons Aargau mit Entscheid vom 26. November 2008 ab. C. E._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit dem Antrag auf Aufhebung der Verwaltungsverfügung und des vorinstanzlichen Entscheides. Die IV-Stelle und das Bundesamt für Sozialversicherungen verzichten auf eine Vernehmlassung. D. Mit Schreiben vom 10. Dezember 2009 gelangte die Instruktionsrichterin an die Firma H._ Ltd als Arbeitgeberin des E._ und ersuchte um Beantwortung verschiedener Fragen im Zusammenhang mit einer von ihr im kantonalen Verfahren abgegebenen Bestätigung vom 6. Juni 2007 über den mutmasslichen Karriereverlauf des E._ im Gesundheitsfall. Am 21. Dezember 2009 beantwortete die Firma H._ Ltd die Anfrage. Im Rahmen eines zweiten Schriftenwechsels erhielten die Parteien und die Vorinstanz Gelegenheit, zur Beweisauskunft der Firma H._ Ltd vom 21. Dezember 2009 Stellung zu nehmen. Dabei hielten der Beschwerdeführer und die Beschwerdegegnerin an ihren Standpunkten fest. Das Versicherungsgericht des Kantons Aargau verzichtete auf eine Stellungnahme.