If you aren't sure what is actually in the backup file, or even if you think you are sure--execute this statement from a fresh query window:

RESTORE FILELISTONLY
FROM DISK = 'X:\MDD\Clients\Lg\H4\H4L.bak'

 The information about the mdf/ldf files will show up looking like this:

 

In this example, I was restoring a database to a different server with different filegroups, directory setups, etc.--so I had to 'MOVE' the location paths to represent the drives I had available. If I were restoring to the same location, I would NOT have needed the 'MOVE' condition. BTW, this assumes you are restoring from a full backup--and that the database already exists.  If this isn't your case, go to SQL Server Books Online for more information about your combination of circumstances.

-- Look before you leap to be sure you know what you have.

restore filelistonly
 from disk = 'e:\backups\MetroDesign.bak'
 
-- Dump everyone off of the database

ALTER DATABASE [MetroDesign] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

-- We are asking SQL Server to replace what is there and to place specific files to a new location

 RESTORE DATABASE MetroDesign
  FROM DISK =  'e:\backups\MetroDesign.bak'
   WITH REPLACE,MOVE 'MetroDesign' TO 'e:\sql\data\mdf\MetroDesign.mdf',
   MOVE 'MetroDesign_log' TO 'l:\sql\data\ldf\MetroDesign_log.ldf'

    
-- Allow users back on to the database when through with the backup.

ALTER DATABASE [MetroDesign] SET MULTI_USER WITH NO_WAIT