﻿<?xml version="1.0" encoding="utf-8"?>
<InstanceReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Version>2.2.0.7</Version>
  <hasSegments>false</hasSegments>
  <ReportName>Restructuring Costs</ReportName>
  <ReportLongName>0209 - Disclosure - Restructuring Costs</ReportLongName>
  <DisplayLabelColumn>true</DisplayLabelColumn>
  <ShowElementNames>false</ShowElementNames>
  <RoundingOption />
  <HasEmbeddedReports>false</HasEmbeddedReports>
  <Columns>
    <Column>
      <LabelColumn>false</LabelColumn>
      <Id>1</Id>
      <Labels>
        <Label Id="1" Label="6 Months Ended" />
        <Label Id="2" Label="Jun. 30, 2010" />
      </Labels>
      <CurrencyCode>USD</CurrencyCode>
      <FootnoteIndexer />
      <hasSegments>false</hasSegments>
      <hasScenarios>false</hasScenarios>
      <Segments />
      <Scenarios />
      <Units>
        <Unit>
          <UnitID>USD</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>USDEPS</UnitID>
          <UnitType>Divide</UnitType>
          <NumeratorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </NumeratorMeasure>
          <DenominatorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </DenominatorMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>Shares</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
      </Units>
      <CurrencySymbol>$</CurrencySymbol>
    </Column>
  </Columns>
  <Rows>
    <Row>
      <Id>2</Id>
      <Label>Restructuring Costs [Abstract]</Label>
      <Level>0</Level>
      <ElementName>us-gaap_RestructuringChargesAbstract</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>true</IsAbstractGroupTitle>
      <IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow>
      <IsEquityAdjustmentRow>false</IsEquityAdjustmentRow>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsReverseSign>false</IsReverseSign>
      <PreferredLabelRole />
      <IsEPS>false</IsEPS>
      <FootnoteIndexer />
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <IsRatio>false</IsRatio>
          <DisplayZeroAsNone>false</DisplayZeroAsNone>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
          <DisplayDateInUSFormat>false</DisplayDateInUSFormat>
        </Cell>
      </Cells>
      <OriginalInstanceReportColumns />
      <ElementDataType>xbrli:stringItemType</ElementDataType>
      <SimpleDataType>string</SimpleDataType>
      <ElementDefenition>No definition available.</ElementDefenition>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>3</Id>
      <Label>Restructuring costs</Label>
      <Level>1</Level>
      <ElementName>us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow>
      <IsEquityAdjustmentRow>false</IsEquityAdjustmentRow>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsReverseSign>false</IsReverseSign>
      <PreferredLabelRole>verboselabel</PreferredLabelRole>
      <IsEPS>false</IsEPS>
      <FootnoteIndexer />
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <IsRatio>false</IsRatio>
          <DisplayZeroAsNone>false</DisplayZeroAsNone>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText>&lt;!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" --&gt;
   &lt;!-- Begin Block Tagged Note 9 - us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock--&gt;
   &lt;div style="font-family: 'Times New Roman',Times,serif; margin-left: 0in; "&gt;
   &lt;div align="justify" style="font-size: 10pt; margin-top: 10pt"&gt;&lt;b&gt;Note 9. Restructuring costs&lt;/b&gt;
   &lt;/div&gt;
   &lt;div align="justify" style="font-size: 10pt; margin-top: 10pt"&gt;Accrued restructuring costs, which are included in Accounts payable and accrued liabilities,
   consist of severance and related termination benefits. Changes to the restructuring liability are
   as follows (in thousands):
   &lt;/div&gt;
   &lt;div align="center"&gt;
   &lt;table style="font-size: 10pt; text-align: left" cellspacing="0" border="0" cellpadding="0" width="100%"&gt;
   &lt;!-- Begin Table Head --&gt;
   &lt;tr valign="bottom"&gt;
       &lt;td width="58%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="3%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="9%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="3%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="9%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="3%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="9%"&gt;&amp;#160;&lt;/td&gt;
       &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 10pt" valign="bottom"&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="2"&gt;&lt;b&gt;Tower Group&lt;/b&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 10pt" valign="bottom"&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="2" style="border-bottom: 1px solid #000000"&gt;&lt;b&gt;2008 Plan&lt;/b&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="2" style="border-bottom: 1px solid #000000"&gt;&lt;b&gt;2009 Plan&lt;/b&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="center" colspan="2" style="border-bottom: 1px solid #000000"&gt;&lt;b&gt;Plan&lt;/b&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;!-- End Table Head --&gt;
   &lt;!-- Begin Table Body --&gt;
   &lt;tr valign="bottom" style="background: #cceeff"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;Balance at December&amp;#160;31, 2009
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;532&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;2,472&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;1,109&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="bottom"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:30px; text-indent:-15px"&gt;Cash payments
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;(395&lt;/td&gt;
       &lt;td nowrap="nowrap"&gt;)&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;(832&lt;/td&gt;
       &lt;td nowrap="nowrap"&gt;)&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;(1,010&lt;/td&gt;
       &lt;td nowrap="nowrap"&gt;)&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 1px"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;&amp;#160;
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="bottom" style="background: #cceeff"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;Balance at March&amp;#160;31, 2010
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;137&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;1,640&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;99&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="bottom"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:30px; text-indent:-15px"&gt;Cash payments
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;(137&lt;/td&gt;
       &lt;td nowrap="nowrap"&gt;)&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;(552&lt;/td&gt;
       &lt;td nowrap="nowrap"&gt;)&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="right"&gt;(62&lt;/td&gt;
       &lt;td nowrap="nowrap"&gt;)&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 1px"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;&amp;#160;
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 1px solid #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr valign="bottom" style="background: #cceeff"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;Balance at June&amp;#160;30, 2010
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;&amp;#8212;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;1,088&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td align="left"&gt;$&lt;/td&gt;
       &lt;td align="right"&gt;37&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size: 1px"&gt;
       &lt;td&gt;
   &lt;div style="margin-left:15px; text-indent:-15px"&gt;&amp;#160;
   &lt;/div&gt;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
           &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 3px double #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
           &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 3px double #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
           &lt;td nowrap="nowrap" colspan="2" align="right" style="border-top: 3px double #000000"&gt;&amp;#160;&lt;/td&gt;
       &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;!-- End Table Body --&gt;
   &lt;/table&gt;
   &lt;/div&gt;
   &lt;div align="justify" style="font-size: 10pt; margin-top: 10pt"&gt;The Company does not expect to incur any significant additional costs under these plans.
   &lt;/div&gt;
   &lt;/div&gt;
</NonNumbericText>
          <NonNumericTextHeader>&lt;!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" --&gt;
   &lt;!-- Begin Block Tagged Note</NonNumericTextHeader>
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
          <DisplayDateInUSFormat>false</DisplayDateInUSFormat>
        </Cell>
      </Cells>
      <OriginalInstanceReportColumns />
      <ElementDataType>us-types:textBlockItemType</ElementDataType>
      <SimpleDataType>textblock</SimpleDataType>
      <ElementDefenition>Description of restructuring activities including exit and disposal activities, which should include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled. This description does not include restructuring costs in connection with a business combination or discontinued operations and long-lived assets (disposal groups) sold or classified as held for sale. This element may be used as a single block of text to encapsulate the entire disclosure including data and tables.</ElementDefenition>
      <ElementReferences>Reference 1: http://www.xbrl.org/2003/role/presentationRef
 -Publisher FASB
 -Name Statement of Financial Accounting Standard (FAS)
 -Number 146
 -Paragraph 20

Reference 2: http://www.xbrl.org/2003/role/presentationRef
 -Publisher SEC
 -Name Staff Accounting Bulletin (SAB)
 -Number Topic 5
 -Section P
 -Subsection 3, 4

</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
  </Rows>
  <Footnotes />
  <NumberOfCols>1</NumberOfCols>
  <NumberOfRows>2</NumberOfRows>
  <HasScenarios>false</HasScenarios>
  <MonetaryRoundingLevel>UnKnown</MonetaryRoundingLevel>
  <SharesRoundingLevel>UnKnown</SharesRoundingLevel>
  <PerShareRoundingLevel>UnKnown</PerShareRoundingLevel>
  <HasPureData>false</HasPureData>
  <SharesShouldBeRounded>true</SharesShouldBeRounded>
</InstanceReport>
