| Index: Source/core/rendering/RenderBox.cpp | 
| diff --git a/Source/core/rendering/RenderBox.cpp b/Source/core/rendering/RenderBox.cpp | 
| index 29e40774a237cc6b21d47862cd77cb84fe2c6a60..222c6d9635e93f141fe0233154b8038d77c73a2e 100644 | 
| --- a/Source/core/rendering/RenderBox.cpp | 
| +++ b/Source/core/rendering/RenderBox.cpp | 
| @@ -105,11 +105,21 @@ void RenderBox::willBeDestroyed() | 
|  | 
| RenderBlock::removePercentHeightDescendantIfNeeded(this); | 
|  | 
| -    ShapeOutsideInfo::removeInfo(*this); | 
| +    clearShapeOutside(); | 
|  | 
| RenderBoxModelObject::willBeDestroyed(); | 
| } | 
|  | 
| +void RenderBox::clearShapeOutside() | 
| +{ | 
| +    if (const ShapeValue* shapeValue = style() ? style()->shapeOutside() : 0) { | 
| +        if (StyleImage* shapeImage = shapeValue->image()) | 
| +            shapeImage->removeClient(this); | 
| +    } | 
| + | 
| +    ShapeOutsideInfo::removeInfo(*this); | 
| +} | 
| + | 
| void RenderBox::removeFloatingOrPositionedChildFromBlockLists() | 
| { | 
| ASSERT(isFloatingOrOutOfFlowPositioned()); | 
|  |