Oak Galls

, 16 September 2017
Oak Galls
knopper gall / Derek Middleton

By Charlotte Owen

WildCall Officer

Next time you walk past an oak tree, take a closer look and you might notice something a bit unusual. Perhaps some of the acorns are ripening nicely but others seem to have mutated into an abnormal, knobbly mess. What’s going on?

It’s all down to the larvae of a miniscule wasp. There are more than 30 different species of gall wasp that lay their eggs on oak trees, and each species produces a different type of gall - essentially a protective casing that shelters the wasp larvae as they feed and grow inside.The wrinkly mutant acorns are known as knopper galls and are made by the gall wasp Andrinus quercuscalicis, which looks like a tiny black fly just a few millimetres long. Earlier in the summer, the females of this species laid eggs on the buds of developing acorns and a fascinating transformation was triggered as soon as they hatched:responding to a chemical signal released by the larvae, the oak tree was persuaded to sculpt its tissue into knobbly knopper galls in place of normal acorns. When there are just one or two larvae inside, the result is a fairly simple, folded structure but when several inhabitants are competing for space the galls look more contorted, like mini explosions frozen in time.

Knopper galls are greenish-yellow and sticky at first but ‘ripen’ to a woody brown in early autumn, at which point they drop to the ground. The larvae pupate inside and spend the winter tucked up in their galls before emerging as adults the following spring.Interestingly, every single one of these emerging adults will be female.They form the first phase of the gall wasp’s two-generation life cycle, and the freshly-emerged spring females need to seek out an evergreen Turkey oak to initiate phase two, by laying their eggs on its catkins. These develop inside a second type of gall, from which both male and female wasps will emerge.They form the second, summer generation and will go on to lay eggs on native oak trees, creating more weird and wonderful knopper gall sculptures.

Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1784288089.21170 [906] SELECT p.pagePath, pr.routePattern, pr.routeRegExp, p.pageTemplate, pr.routeOrder, s.settingValue AS siteOffline FROM swt_pages_staging p LEFT JOIN swt_page_routes pr ON p.pageID=pr.pageID LEFT JOIN swt_settings s ON s.settingID='siteOffline' UNION SELECT NULL AS pagePath, pr2.routePattern, pr2.routeRegExp, pr2.templatePath AS pageTemplate, pr2.routeOrder, NULL AS siteOffline FROM swt_page_routes pr2 WHERE templateID!=0 ORDER BY routeOrder ASC, pagePath ASC
1784288089.23820.0265Matched route: news/[slug:s]
1784288089.23840.0002Server address: 216.73.216.115
1784288089.23840Using master page: /templates/pages/blog/post.php
1784288089.23850Page arguments:
Array
(
    [0] => /news/oak-galls
    [s] => oak-galls
    [1] => oak-galls
)
1784288089.23890.0005 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1784288089.240.0011 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1784288089.24170.0018 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1784288089.24220.0005INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1784288089.24430.002 [1] SELECT * FROM swt_shop_cart WHERE cartID=23142482
1784288089.24470.0005 [1] SELECT * FROM swt_shop_cart WHERE cartID=23142482
1784288089.24530.0005 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-07-17 11:34:00' AND saleTo>'2026-07-17 11:34:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1784288089.24660.0013 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='oak-galls')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-07-17 11:34:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1784288089.2490.0025 [1] SELECT FOUND_ROWS() AS `count`
1784288089.24950.0005 [1] SELECT * FROM swt_blog_posts WHERE postID=1419 AND postStatus='Published' AND postDateTime<='2026-07-17 11:34:00'
1784288089.25020.0007 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1784288089.25090.0007 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1784288089.25180.0009 [1] SELECT * FROM swt_categories WHERE catID=181 LIMIT 1
1784288089.25260.0008Using template: /templates/blog/post.html
1784288089.25280.0002 [162] SELECT catID, catPath FROM swt_categories
1784288089.25370.0009 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-07-17 11:34:00' AND postSlug='oak-galls'
1784288089.27440.0208Using template: /templates/blog/post.html
1784288089.27510.0006 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1784288089.27650.0015Using template: /templates/pages/attributes/seo.html
1784288089.27680.0002 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1784288089.27750.0007 [nil] SELECT * FROM ( SELECT idx.itemID, c.regionID, idx.pageID, c.itemJSON, idx2.indexValue as sortval FROM swt_content_index idx JOIN swt_content_items c ON idx.itemID=c.itemID AND idx.itemRev=c.itemRev AND idx.regionID=c.regionID JOIN swt_content_index idx2 ON idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev AND idx2.indexKey='_order' WHERE ((idx.regionID=104 AND idx.itemRev=0)) AND idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev ) as tbl GROUP BY itemID, pageID, itemJSON, sortval, regionID ORDER BY sortval ASC
1784288089.27850.001 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1784288089.28140.003 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1784288089.2820.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1784288089.28420.0022Using template: /templates/navigation/ps_nav_template.html
1784288089.28420 [6] Using template: /templates/navigation/ps_nav_template_children.html
1784288089.28510.0008 [4] Using template: /templates/navigation/ps_nav_template_children.html
1784288089.28550.0004 [29] Using template: /templates/navigation/ps_nav_template_children.html
1784288089.28810.0026 [10] Using template: /templates/navigation/ps_nav_template_children.html
1784288089.28920.0011 [7] Using template: /templates/navigation/ps_nav_template_children.html
1784288089.29010.0009 [9] Using template: /templates/navigation/ps_nav_template_children.html
1784288089.29280.0027 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1784288089.29370.0009 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1784288089.29620.0025 [1] Using template: /templates/navigation/breadcrumbs.html
1784288089.29670.0005Using template: /templates/blog/post.html
1784288089.2970.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1784288089.29780.0008Using template: /templates/blog/author.html
1784288089.29830.0005 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='oak-galls')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-07-17 11:34:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1784288089.30030.002 [1] SELECT FOUND_ROWS() AS `count`
1784288089.30080.0005 [1] Using template: /templates/blog/post.html
1784288089.30430.0035Using template: /templates/blog/comment_form.html
1784288089.30530.0011 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=1419 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1784288089.35640.0511 [0] Using template: /templates/blog/comment.html
1784288089.35660.0002Using template: /templates/blog/post.html
1784288089.35690.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1784288089.35770.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1784288089.35840.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1784288089.36780.0094 [7] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-002%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1784288089.37050.0028 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1784288089.37120.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1784288089.37330.0021 [6] Using template: /templates/navigation/footer-nav.html
1784288089.37420.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1784288089.37490.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1784288089.37540.0005 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1784288089.37860.0032 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1784288089.37920.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1784288089.38150.0022 [10] Using template: /templates/navigation/footer-nav.html
1784288089.38510.0036 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1784288089.38620.0011 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1784288089.38690.0007 [30] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-004%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1784288089.38940.0026 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1784288089.390.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1784288089.39210.0021 [29] Using template: /templates/navigation/footer-nav.html
1784288089.39480.0027 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1784288089.39560.0008 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1784288089.39610.0005 [11] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1784288089.39840.0022 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1784288089.39890.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1784288089.40090.002 [10] Using template: /templates/navigation/footer-nav.html
1784288089.40210.0011Request time: 0.1942
1784288089.40210Process time: 0.194
1784288089.40210Memory: 1.622