<?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>1.0.0.3</Version>
  <hasSegments>false</hasSegments>
  <ReportName>Restructuring Costs</ReportName>
  <RoundingOption />
  <Columns>
    <Column>
      <LabelColumn>false</LabelColumn>
      <Id>1</Id>
      <Labels>
        <Label Id="1" Label="9 Months Ended" />
        <Label Id="2" Label="Sep. 30, 2009" />
      </Labels>
      <CurrencySymbol>$</CurrencySymbol>
      <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>
      </Units>
    </Column>
  </Columns>
  <Rows>
    <Row>
      <Id>2</Id>
      <Label>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</Label>
      <Level>0</Level>
      <ElementName>eme_NotesToFinancialStatementsAbstract</ElementName>
      <ElementPrefix>eme</ElementPrefix>
      <IsBaseElement>false</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>string</ElementDataType>
      <ShortDefinition>Notes to Financial Statements [Abstract]</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>true</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>Notes to Financial Statements [Abstract]</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>
      <ElementDataType>string</ElementDataType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsEPS>false</IsEPS>
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText>&lt;table style="font-size:10pt; font-family:'Times New Roman',times,serif;"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p style="FONT-FAMILY: times"&gt;&lt;font size="2"&gt;&lt;b&gt;Note&amp;nbsp;5.
Restructuring Costs&lt;br /&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="FONT-FAMILY: times"&gt;
&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EME
reduced approximately 75 positions in its regional and corporate
offices in April&amp;nbsp;2009 and recorded charges of approximately
$5&amp;nbsp;million (pre-tax) during the second quarter of 2009
included in administrative and general expense on EME's
consolidated statements of income.&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
</NonNumbericText>
          <NonNumericTextHeader>Note&amp;nbsp;5.
Restructuring Costs

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EME
reduced approximately 75 positions in its regional and corporate
offices</NonNumericTextHeader>
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
        </Cell>
      </Cells>
      <ElementDefenition>No definition available.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
  </Rows>
  <Footnotes />
  <ComparabilityReport>false</ComparabilityReport>
  <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>
