Earl Ulf had by this time come to realise that Denmark could not afford to ignore the Lord of England. There was evidently much dissatisfaction with the Earl's régime, for we find that the Danes in large numbers accepted the invaders. Ulf and Harthacanute soon retreated to Jutland, and left the islands and Scania to the enemy.

The situation that Canute found when he sailed into the Lime Firth was perhaps not wholly a surprise; he must have known something about what his deputy had been plotting and doing. That he was angry is evident; that his wrath was feared is also clear. Harthacanute was advised to submit; he knelt before his father and obtained forgiveness, as the King realised that no responsibility could lodge with a witless boy. Ulf also tried to make terms with the offended monarch, but was merely told to collect his forces and join in the defence of the kingdom; later he might propose terms.

Such is Snorre's account[308]; it may be inaccurate in details, but the main fact that Earl Ulf was faithless to his trust seems to be correctly stated. Elsewhere, too, Ulf is accused of opposition to his King: Saxo charges him with treason[309]; and an entry in the Anglo-Saxon Chronicle tells us that Canute went east to fight Ulf and Eglaf.[310] There has been some dispute as to the identity of these chiefs, but unless evidence to the contrary is forthcoming, we shall have to conclude that they were the two brothers who were earls in England in the early days of Canute as English king. Shortly before this (1024), Eglaf's name disappears from the English sources. The Chronicler was evidently not informed as to the situation in the North; but he knew that the two brothers were among the opponents of the King and recorded what he knew.

Meanwhile, Olaf was on the shores of Zealand with his longships. Saxo relates that one day while he was addressing the Danes at a public assembly with a view to winning them to his own allegiance, spies rushed up and reported that they had seen several ships approaching. An aged Dane assured the King that the ships were merchantmen only; but when sails in growing numbers began to cross the horizon, he added that they were merchantmen who had come to buy Denmark with iron.[311]

From the Lime Firth, Canute must have sailed his fleet southeastward to the upper entrance of the Sound; at any rate, King Olaf soon discovered that the homeward route had been effectually blocked. There was now nothing to do but to continue the journey eastward and to form a junction with King Anund's fleet which was harrying the Scanian coast. Canute must have followed in hot pursuit, for before the enemies could form a junction he seems to have found and defeated a part of the Swedish fleet at Stangeberg.[312] A little later, he came up with the combined strength of the allied Kings near the mouth of Holy River.

Holy River is a short stream in the eastern part of Scania that serves as the outlet of a group of lakes not far inland. Between these lakes and the sea the forest was heavy enough to conceal any activities inland. When the Kings learned that the Danish fleet was approaching, they took counsel and decided to draw up their ships in battle order east of the river mouth, but to act on the defensive. King Anund was to remain in charge of the fleet while King Olaf, who is reputed to have been something of a military engineer, went inland to prepare a trap for the enemy. Where the river left the lakes he is said to have built a temporary dam of trees and turf, and he also improved the outlets of some of the smaller lakes, so as to increase the water masses behind the dam. Many days the work continued under Olaf's direction. Then came the message that Canute had arrived and the Norsemen hastened to their ships.

It was late in the afternoon when Anund's spies finally caught sight of the great armament approaching from the west. Swift-footed couriers at once left for the lakes to inform Olaf, who immediately prepared to break the dam, at the same time filling the course with large trees. Canute saw the enemy drawn up in line and ready for the fight; but it was then too late to proceed to the attack; moreover, the enemy had the advantage of a carefully chosen position. The Dane therefore refused battle that day. Finding the harbour at the river mouth empty, he sailed into it with as many ships as could be accommodated; the remainder were left just outside.

At dawn the next morning, a large part of Canute's forces was found to have landed; some were conversing, others seeking amusement. Then without the least warning the waters came down in torrents, dashing the floating trees against the ships. The ships were injured and the waters overflowed the river banks, drowning the men who had gone on land and also many who were still on the ships. Those who were able to do so cut the ropes and allowed their ships to drift, each in its own direction. The great dragon that Canute himself commanded was among these; it was not easily managed by the oars alone and drifted out toward the hostile fleet. But when the allies recognised the ship, they immediately surrounded it; but it was not easily attacked, for the ship was high like a castle and had a number of men on board, who were carefully chosen, thoroughly armed, and very reliable. It was not long before Earl Ulf came up alongside with his ships and men and the battle was now joined in earnest. Canute's forces now came up from all sides. Then the Kings Olaf and Anund realised that they had now won as much as fate had allowed them for this time; so they ordered a retreat, withdrew from Canute's fleet, and separated from the fight.[313]

In its disorganised condition Canute's host could make no effective pursuit. The Danes and English had suffered heavy losses, while those of the Swedes and Norsemen were slight; still their combined forces were yet inferior to those of Canute. It was, therefore, agreed to avoid further battle. Eastward the course continued, the intention being to stop for the night in the harbour of Barwick on the coast of Bleking. However, a large part of the Swedish fleet did not enter the harbour, but continued the journey eastward and northward; nor were the sails lowered before the chiefs had reached their respective homes.

Early the following morning, King Anund ordered the signal to be sounded for a council of the remaining chiefs. The entire army landed and the assembly proceeded to discuss the situation. King Anund announced that of 420 ships that had joined him in the preceding summer only 120 were now in the harbour. These with the sixty Norwegian ships did not make a force sufficient for successful operations against Canute. The Swedish King therefore proposed to Olaf that he should spend the winter in Sweden, and in the spring, perhaps, they might be able to renew hostilities. Olaf demurred: the former viking could not surrender his purposes so readily; it would still be possible, he argued, to defeat Canute as his large fleet would soon be compelled to scatter in search of provisions, his eastern coasts having been too recently harried to afford much in the way of supplies. But the outcome was that Olaf left his ships in Sweden and returned to Norway overland.