Faits :
A.
A.a. Le 20 avril 2010, B._ SA, par son administrateur et actionnaire unique, C._, de même que ce dernier à titre personnel, ont déposé une plainte pénale contre X._ pour escroquerie, faux dans les titres et menaces. Le Ministère public de la République et canton de Genève a ouvert une instruction pénale ensuite du dépôt de cette plainte.
A.b. Par ordonnance du 16 juillet 2014, l'avocat A._ a été désigné en qualité de conseil juridique gratuit de C._, auquel l'assistance judiciaire a été accordée avec effet au 9 juillet 2014.
A.c. Par ordonnance du 27 octobre 2015, le ministère public a classé la procédure. Le 9 novembre 2015, C._ a recouru contre cette ordonnance, laquelle a été confirmée par un arrêt de la Chambre pénale de recours de la Cour de justice genevoise du 19 avril 2016. Par arrêt du 6 juin 2017 (6B_570/2016), le Tribunal fédéral a admis le recours formé par C._ contre l'arrêt précité, a annulé celui-ci et a renvoyé la cause à l'autorité cantonale pour nouvelle décision.
Dans son arrêt de renvoi au ministère public, faisant suite à l'arrêt du Tribunal fédéral précité, la cour cantonale n'a pas indemnisé le conseil juridique gratuit de C._ pour la procédure de recours contre l'ordonnance du 27 octobre 2015, celui-ci n'ayant formulé aucune conclusion en ce sens.
A.d. Le 28 avril 2016, A._ a transmis son état de frais pour l'activité déployée en faveur de C._. Ce décompte faisait état de 40 heures et 30 minutes d'activité d'avocat ainsi que de 11 heures et 15 minutes d'activité d'avocat stagiaire.
Par ordonnance d'indemnisation du 13 mai 2016, le ministère public a indemnisé A._ à hauteur de 4'316 fr. 85, correspondant à 15 heures d'activité d'avocat ainsi qu'à 9 heures et 45 minutes d'activité d'avocat stagiaire.
A.e. Par arrêt du 7 novembre 2017, la Chambre pénale de recours de la Cour de justice genevoise a rejeté le recours formé par A._ contre l'ordonnance du 13 mai 2016.
A.f. Par arrêt du 15 juin 2018 (6B_1410/2017), le Tribunal fédéral a partiellement admis le recours formé par A._ contre l'arrêt du 7 novembre 2017, a annulé celui-ci et a renvoyé la cause à l'autorité cantonale pour nouvelle décision. Pour le surplus, il a rejeté le recours dans la mesure où celui-ci était recevable.
Dans cet arrêt, le Tribunal fédéral a notamment considéré que la cour cantonale avait violé le droit d'être entendu du prénommé en ne motivant pas, de manière suffisante, le refus de l'indemniser pour l'activité déployée dans le cadre du recours du 9 novembre 2015 (consid. 2.3).
B.
Par arrêt du 4 juillet 2019 rendu à la suite de l'arrêt de renvoi du 15 juin 2018, la Chambre pénale de recours de la Cour de justice genevoise a partiellement admis le recours formé par A._ contre l'ordonnance du 13 mai 2016, a réformé celle-ci en ce sens que des indemnités lui sont allouées à hauteur de 2'592 fr. pour la rédaction du recours du 9 novembre 2015 et de 521 fr. 25 à titre de complément pour l'activité déployée en première instance, soit avant l'annulation de l'ordonnance de classement. Elle a rejeté le recours pour le surplus.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 4 juillet 2019, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens qu'une indemnité pour la rédaction du recours du 9 novembre 2015 lui est allouée à hauteur de 4'536 fr. et, subsidiairement, à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision.

Considérant en droit :
1.
En l'occurrence, on ne se trouve pas dans l'hypothèse visée par l'<ref-law>, qui prévoit un recours devant le Tribunal pénal fédéral lorsque l'indemnité pour la défense d'office est fixée par l'autorité de recours. Le recours en matière pénale est ouvert (<ref-ruling> consid. 1.7 p. 216).
2.
Le recourant reproche à la cour cantonale d'avoir violé son droit d'être entendu en motivant insuffisamment sa décision concernant l'indemnisation de son activité relative au recours du 9 novembre 2015.
2.1. L'obligation de motiver, telle qu'elle découle du droit d'être entendu (art. 29 al. 2 Cst.; cf. aussi art. 3 al. 2 let. c et 107 CPP), est respectée lorsque le juge mentionne, au moins brièvement, les motifs qui l'ont guidé et sur lesquels il a fondé sa décision, de manière à ce que l'intéressé puisse se rendre compte de la portée de celle-ci et l'attaquer en connaissance de cause (<ref-ruling> consid. 3.1 p. 109; <ref-ruling> consid. 3.4.3 p. 46; <ref-ruling> consid. 5.3 p. 70; <ref-ruling> consid. 2.2 p. 183).
2.2. L'autorité précédente a exposé que le recourant avait facturé 21 heures de travail pour le recours du 9 novembre 2015. Cette durée était excessive et devait être ramenée à 12 heures, ce qui représentait un montant total de 2'592 fr., dès lors que l'écriture de 32 pages portait principalement sur des faits et que l'aspect juridique n'était pas complexe.
2.3. Contrairement à ce que soutient le recourant, la motivation de la cour cantonale permet de saisir les motifs ayant guidé sa décision, les différents postes facturés en relation avec l'élaboration du recours du 9 novembre 2015 étant au demeurant expressément mentionnés dans l'arrêt attaqué. L'intéressé a bien compris les explications fournies, qu'il critique dans un grief topique sur ce point (cf. consid. 3 infra). Le grief doit donc être rejeté.
3.
Le recourant prétend que l'indemnisation de son activité serait arbitraire et violerait l'<ref-law>.
3.1. L'<ref-law> dispose que l'<ref-law> s'applique par analogie à l'indemnisation du conseil juridique gratuit; la décision définitive concernant la prise en charge des honoraires du conseil juridique gratuit et des frais afférents aux actes de procédure pour lesquels la partie plaignante a été dispensée de fournir une avance est réservée. Aux termes de l'<ref-law>, le défenseur d'office est indemnisé conformément au tarif des avocats de la Confédération ou du canton du for du procès.
L'autorité cantonale dispose d'un large pouvoir d'appréciation dans la fixation de l'indemnité du défenseur d'office. Pour fixer cette indemnité, l'autorité doit tenir compte de la nature et de l'importance de la cause, des difficultés particulières que celle-ci peut présenter en fait et en droit, du temps que l'avocat lui a consacré, de la qualité de son travail, du nombre des conférences, audiences et instances auxquelles il a pris part, du résultat obtenu et de la responsabilité qu'il a assumée (<ref-ruling> consid. 3a p. 2 s. et les références citées; arrêt 6B_1231/2018 du 20 mars 2019 consid. 2.1.1). Le Tribunal fédéral n'intervient qu'en cas d'arbitraire. Tel est le cas lorsque la décision repose sur une appréciation insoutenable des circonstances, est incompatible avec les règles du droit et de l'équité, omet de prendre en considération tous les éléments propres à fonder la décision ou, au contraire, tient compte de critères dénués de pertinence (<ref-ruling> consid. 3a p. 409; plus récemment, arrêt 6B_1231/2018 précité consid. 2.1.1; cf. <ref-ruling> consid. 3.2 p. 126). Il ne suffit pas que l'autorité ait apprécié de manière erronée un poste de l'état de frais ou qu'elle se soit fondée sur un argument déraisonnable; encore faut-il que le montant global alloué à titre d'indemnité se révèle arbitraire (<ref-ruling> consid. 3d p. 112; arrêt 6B_304/2018 du 5 octobre 2018 consid. 1.1). Le Tribunal fédéral fait preuve de réserve lorsque l'autorité estime exagérés le temps ou les opérations déclarés par l'avocat d'office, car il appartient aux autorités cantonales de juger de l'adéquation entre les activités déployées par ce dernier et celles qui sont justifiées par l'accomplissement de sa tâche (<ref-ruling> consid. 3.2 p. 126).
3.2. Dans le canton de Genève, l'art. 16 al. 2 du règlement sur l'assistance juridique et l'indemnisation des conseils juridiques et défenseurs d'office en matière civile, administrative et pénale (RAJ/GE; RS/GE E 2 05.04) dispose que seules les heures nécessaires sont retenues. Elles sont appréciées en fonction notamment de la nature, de l'importance, et des difficultés de la cause, de la valeur litigieuse, de la qualité du travail fourni et du résultat obtenu.
3.3. L'autorité précédente a indiqué qu'il convenait de retenir 12 heures d'activité d'avocat - pour le recours du 9 novembre 2015 - et non les 21 heures facturées. Une telle durée apparaissait excessive dès lors que le recours avait porté principalement sur des faits et que l'aspect juridique n'était pas complexe.
3.4. Le recourant revient pour partie sur des aspects qui avaient déjà été examinés dans l'arrêt de renvoi du 15 juin 2018. Le Tribunal fédéral y avait ainsi relevé que la cour cantonale avait, sans arbitraire, considéré que la cause n'était pas "juridiquement complexe" (cf. consid. 4.3.2). Le recourant ne saurait désormais contester cette appréciation, reprise par l'autorité précédente dans sa motivation relative à l'indemnisation des heures consacrées à la rédaction du recours du 9 novembre 2015.
Par ailleurs, le recourant indique qu'il aurait dû consacrer trois heures à l'étude du dossier, le 9 novembre 2015, dans le cadre de la rédaction du recours en question. Or, il ressort de sa note d'honoraires du 28 avril 2016 qu'un temps encore supérieur avait été dévolu à cette tâche le 29 septembre 2015, en vue des déterminations formulées à la suite de l'avis de prochaine clôture du 16 septembre 2015, en particulier afin de réclamer des mesures probatoires. Sur ce point, le Tribunal fédéral avait, dans son arrêt de renvoi du 15 juin 2018, relevé que la cour cantonale avait, sans arbitraire, estimé que la durée annoncée pour le 29 septembre 2015 n'apparaissait pas nécessaire pour l'étude d'un dossier dont le recourant avait alors déjà une bonne connaissance (cf. consid. 4.3.2). On ne voit pas ce qui aurait justifié, quelques jours après une étude approfondie du dossier en vue de la rédaction de déterminations et de réquisitions de preuves, de consacrer derechef une durée presque équivalente à la lecture du même dossier.
Enfin, il n'apparaît pas que l'autorité précédente aurait versé dans l'arbitraire en considérant qu'une activité de 17 heures - consacrée à la rédaction - s'avérait excessive au regard du mémoire de recours du 9 novembre 2015. Comme l'a à bon droit relevé celle-ci, cette écriture ne révèle pas que des recherches juridiques particulières auraient été effectuées, mais consiste essentiellement à rediscuter les faits de la cause. Pour le reste, on ne voit pas quel critère pertinent découlant de la jurisprudence précitée ou de l'art. 16 al. 2 RAJ/GE (cf. consid. 3.1 et 3.2 supra) aurait été ignoré ou mal apprécié par la cour cantonale. Cette dernière pouvait ainsi, sans arbitraire, considérer qu'une durée totale de 21 heures était excessive pour la rédaction de l'écriture concernée, et que seules 12 heures d'activité d'avocat étaient nécessaires pour attaquer l'ordonnance de classement du 27 octobre 2015 compte tenu des spécificités de la cause. On peut ajouter que le montant total alloué au recourant pour la rédaction du recours concerné, soit 2'592 fr., n'apparaît pas davantage arbitraire.
Le grief doit donc être rejeté.
4.
Le recours doit être rejeté. Le recourant, qui succombe, supporte les frais judiciaires (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 3'000 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux parties et à la Cour de justice de la République et canton de Genève, Chambre pénale de recours.
Lausanne, le 12 septembre 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Graa