Sachverhalt: Sachverhalt: A. X._ anerkannte am 23. November 1990 beim Zivilstandsamt Wangen bei Olten die beiden Kinder A._ (geb. 1987) und B._ (geb. 1989). Gemäss dem von der Vormundschafts-behörde genehmigten Unterhaltsvertrag verpflichtete er sich zur Bezahlung von folgenden indexierten Unterhaltsleistungen pro Kind: - Fr. 400.-- von der Geburt bis zum vollendeten 12. Altersjahr, - Fr. 450.-- vom 13. Altersjahr bis zur Mündigkeit des Kindes, längstens bis zu dessen Eintritt in die volle Erwerbstätigkeit. X._ erfüllte seine Unterhaltspflichten bis und mit September 1992. Seither ist er, mit Ausnahme sporadischer Leistungen in den Jahren 1995 und 1997, diesen Pflichten nicht mehr nachgekommen. Diverse Betreibungen führten zu Verlustscheinen. X._ erfüllte seine Unterhaltspflichten bis und mit September 1992. Seither ist er, mit Ausnahme sporadischer Leistungen in den Jahren 1995 und 1997, diesen Pflichten nicht mehr nachgekommen. Diverse Betreibungen führten zu Verlustscheinen. B. Das Obergericht des Kantons Solothurn verurteilte X._ am 29. November 1995 letztinstanzlich wegen Vernachlässigung von Unterhaltspflichten zu einer Gefängnisstrafe von 4 Monaten, bedingt mit einer Probezeit von 3 Jahren. Im April 1998 wurde gegen ihn ein neues Strafverfahren eröffnet. Mit Urteil vom 22. März 2000 wurde er vom Amtsgericht von Olten-Gösgen erneut des gleichen Straftatbestandes schuldig gesprochen. Das Gericht verurteilte ihn zu 8 Monaten Gefängnis, unter Gewährung des bedingten Strafvollzuges mit einer Probezeit von 3 Jahren. Der im Urteil vom 29. November 1995 gewährte bedingte Strafvollzug wurde widerrufen. Im April 1998 wurde gegen ihn ein neues Strafverfahren eröffnet. Mit Urteil vom 22. März 2000 wurde er vom Amtsgericht von Olten-Gösgen erneut des gleichen Straftatbestandes schuldig gesprochen. Das Gericht verurteilte ihn zu 8 Monaten Gefängnis, unter Gewährung des bedingten Strafvollzuges mit einer Probezeit von 3 Jahren. Der im Urteil vom 29. November 1995 gewährte bedingte Strafvollzug wurde widerrufen. C. Auf Appellation des Verurteilten hin bestätigte das Obergericht des Kantons Solothurn am 16. Dezember 2004 den Schuldspruch, reduzierte aber die Strafe auf 5 Monate Gefängnis, unter Gewährung des bedingten Strafvollzuges mit einer Probezeit von 3 Jahren. Es ordnete zudem den Widerruf des bedingten Strafvollzuges für die Vorstrafe und die Einweisung in eine Klinik für Suchtkranke an. Der Vollzug der Gefängnisstrafe wurde für die Dauer der Massnahme aufgeschoben. C. Auf Appellation des Verurteilten hin bestätigte das Obergericht des Kantons Solothurn am 16. Dezember 2004 den Schuldspruch, reduzierte aber die Strafe auf 5 Monate Gefängnis, unter Gewährung des bedingten Strafvollzuges mit einer Probezeit von 3 Jahren. Es ordnete zudem den Widerruf des bedingten Strafvollzuges für die Vorstrafe und die Einweisung in eine Klinik für Suchtkranke an. Der Vollzug der Gefängnisstrafe wurde für die Dauer der Massnahme aufgeschoben. D. X._ führt Nichtigkeitsbeschwerde an den Kassationshof und beantragt, das Urteil der Vorinstanz sei insofern (teilweise) aufzuheben, als der am 29. November 1995 gewährte bedingte Straf-vollzug widerrufen und damit eine Klinikeinweisung verbunden wurde. Er stellt zudem Gesuche um unentgeltliche Rechtspflege und um auf-schiebende Wirkung. D. X._ führt Nichtigkeitsbeschwerde an den Kassationshof und beantragt, das Urteil der Vorinstanz sei insofern (teilweise) aufzuheben, als der am 29. November 1995 gewährte bedingte Straf-vollzug widerrufen und damit eine Klinikeinweisung verbunden wurde. Er stellt zudem Gesuche um unentgeltliche Rechtspflege und um auf-schiebende Wirkung. E. Das Obergericht und die Staatsanwaltschaft des Kantons Solothurn schliessen auf Gutheissung der Beschwerde.