Quebec provincial police said the nine-year-old boy, Nicolas Payeur, died in hospital overnight Friday while his grandfather, 64-year-old Gerard Payeur, died a few hours earlier.
The pair went skating Friday afternoon on a private lake in Ascot Corner in Quebec's Eastern Townships and police say the thin ice broke under their weight.
Relatives in the house nearby tried in vain to save the pair. The boy's grandmother suffered hypothermia in the rescue attempt.
Police are investigating the incident.