Faits: Faits: A. A.a R._, né en 1955, était au bénéfice, depuis le 1er octobre 1989, d'une rente d'invalidité de la Caisse nationale suisse d'assurance en cas d'accidents (CNA) fondée sur une incapacité de gain de 10 %. Il a travaillé au service de la société X._ SA du 1er mars 1989 au 31 janvier 1993, date à laquelle son contrat a été résilié. Il a requis des prestations de l'assurance-chômage à partir du 1er février suivant, en déclarant rechercher une activité à plein temps, tout en indiquant bénéficier d'une rente de la CNA. La Caisse de chômage de la Fédération chrétienne des travailleurs de la construction de Suisse (ci-après : la caisse FCTC) lui a alloué une indemnité de chômage pleine et entière du 1er février 1993 au 13 août 1994. Par décision du 29 décembre 1995, la CNA a remplacé, à partir du 1er février 1993, la rente fondée sur un taux d'incapacité de gain de 10 % par une rente fondée sur un taux de 25 %. Aussi, par décision du 21 novembre 1996, la Caisse de chômage des Organisations chrétiennes sociales du Valais (ci-après : la caisse OCS) a-t-elle ordonné à R._ de restituer à la caisse FCTC un montant de 6'311 fr. 75, représentant une part des indemnités de chômage payées en trop durant la période du 1er février 1993 au 13 août 1994. La caisse OCS ajoutait qu'elle réclamerait à la CNA le solde des indemnités de chômage payées en trop, soit 4'308 fr. 35. Comme ce montant avait déjà été alloué à l'assuré par la CNA, la caisse OCS a rendu une autre décision, le 28 février 1997, par laquelle elle a ordonné la restitution du montant supplémentaire de 4'308 fr. 35. A.b R._ a recouru contre ces deux décisions devant la Commission cantonale valaisanne de recours en matière de chômage en concluant à leur annulation. En cours de procédure, la caisse FCTC a rendu une décision, le 8 juin 1998, par laquelle elle a annulé les décisions susmentionnées et réclamé à l'assuré la restitution d'un montant de 15'273 fr. 75, somme correspondant aux indemnités de chômage payées en trop durant la période du 1er février 1993 au 13 août 1994. Par deux jugements du 18 juin 1998, la juridiction cantonale a classé les recours et radié les affaires du rôle, motif pris « qu'il n'y (avait) plus matière à décision » en raison de l'annulation par l'administration des décisions des 21 novembre 1996 et 28 février 1997. A.c Saisi de recours contre ces jugements, le Tribunal fédéral des assurances a déclaré nulle la décision de la caisse FCTC du 8 juin 1998; il a annulé les jugements entrepris et renvoyé les causes à la juridiction cantonale pour qu'elle entrât en matière sur les recours formés par R._ contre les décisions des 21 novembre 1996 et 28 février 1997, tout en tenant compte des propositions faites par la caisse FCTC dans sa « décision » du 8 juin 1998 rendue en cours de procédure (arrêt du 10 novembre 1998, C 251 + 252/98). A.c Saisi de recours contre ces jugements, le Tribunal fédéral des assurances a déclaré nulle la décision de la caisse FCTC du 8 juin 1998; il a annulé les jugements entrepris et renvoyé les causes à la juridiction cantonale pour qu'elle entrât en matière sur les recours formés par R._ contre les décisions des 21 novembre 1996 et 28 février 1997, tout en tenant compte des propositions faites par la caisse FCTC dans sa « décision » du 8 juin 1998 rendue en cours de procédure (arrêt du 10 novembre 1998, C 251 + 252/98). B. Après avoir donné à l'intéressé la possibilité de se déterminer sur une éventuelle réforme à son détriment des décisions des 21 novembre 1996 et 28 février 1997, la juridiction cantonale a rendu un jugement, le 29 avril 2004, dont le dispositif est le suivant : 1. Les recours de l'assuré sont rejetés. 2. La décision du 8 juin 1998 de la Caisse est confirmée. 3. Il n'est pas perçu de frais. 3. Il n'est pas perçu de frais. C. R._ interjette recours de droit administratif contre ce jugement, dont il demande l'annulation. La juridiction cantonale conclut au rejet du recours, tandis que la caisse OCS et le Secrétariat d'Etat à l'économie ont renoncé à présenter des déterminations. 