Index: themes/default/tv/detail.php
===================================================================
--- themes/default/tv/detail.php	(revision 9048)
+++ themes/default/tv/detail.php	(working copy)
@@ -300,12 +300,10 @@
                         else
                             echo t('Don\'t record this program.');
                         ?></a></li>
-
+ <?php       if(empty($schedule->search)) { ?>
                 <li><input type="radio" class="radio" name="record" value="<?php echo rectype_once ?>" id="record_once"<?php
                         echo $schedule->type == rectype_once ? ' CHECKED' : '' ?> />
                     <a onclick="get_element('record_once').checked=true;"><?php echo t('rectype-long: once') ?></a></li>
-
-<?php       if (empty($schedule->search)) { ?>
                 <li><input type="radio" class="radio" name="record" value="<?php echo rectype_daily ?>" id="record_daily"<?php
                         echo $schedule->type == rectype_daily ? ' CHECKED' : '' ?> />
                     <a onclick="get_element('record_daily').checked=true;"><?php echo t('rectype-long: daily') ?></a></li>
@@ -313,7 +311,7 @@
                 <li><input type="radio" class="radio" name="record" value="<?php echo rectype_weekly ?>" id="record_weekly"<?php
                         echo $schedule->type == rectype_weekly ? ' CHECKED' : '' ?> />
                     <a onclick="get_element('record_weekly').checked=true;"><?php echo t('rectype-long: weekly') ?></a></li>
-
+<?php       } ?>
                 <li><input type="radio" class="radio" name="record" value="<?php echo rectype_findone ?>" id="record_findone"<?php
                         echo $schedule->type == rectype_findone ? ' CHECKED' : '' ?> />
                     <a onclick="get_element('record_findone').checked=true;"><?php echo t('rectype-long: findone') ?></a></li>
@@ -325,15 +323,14 @@
                 <li><input type="radio" class="radio" name="record" value="<?php echo rectype_findweekly ?>" id="record_findweekly"<?php
                         echo $schedule->type == rectype_findweekly ? ' CHECKED' : '' ?> />
                     <a onclick="get_element('record_findweekly').checked=true;"><?php echo t('rectype-long: findweekly') ?></a></li>
-
+ <?php       if(empty($schedule->search)) { ?>
                 <li><input type="radio" class="radio" name="record" value="<?php echo rectype_channel ?>" id="record_channel"<?php
                         echo $schedule->type == rectype_channel ? ' CHECKED' : '' ?> />
                     <a onclick="get_element('record_channel').checked=true;"><?php echo t('rectype-long: channel', prefer_channum ? $channel->channum : $channel->callsign) ?></a></li>
-
+<?php       } ?>
                 <li><input type="radio" class="radio" name="record" value="<?php echo rectype_always ?>" id="record_always"<?php
                         echo $schedule->type == rectype_always ? ' CHECKED' : '' ?> />
                     <a onclick="get_element('record_always').checked=true;"><?php echo t('rectype-long: always') ?></a></li>
-<?php       } ?>
             </ul>
         </div>
 <?php
Index: includes/recording_schedules.php
===================================================================
--- includes/recording_schedules.php	(revision 9048)
+++ includes/recording_schedules.php	(working copy)
@@ -138,6 +138,7 @@
     var $findtime;
     var $findid;
     var $transcoder;
+    var $parentid;
 
     var $texttype;
     var $channel;
@@ -246,7 +247,7 @@
     // Update the type, in case it changed
         $this->type = $new_type;
     // Update the record
-        $result = mysql_query('REPLACE INTO record (recordid,type,chanid,starttime,startdate,endtime,enddate,search,title,subtitle,description,profile,recpriority,category,maxnewest,inactive,maxepisodes,autoexpire,startoffset,endoffset,recgroup,dupmethod,dupin,station,seriesid,programid,autocommflag,findday,findtime,findid,autotranscode,transcoder,tsdefault,autouserjob1,autouserjob2,autouserjob3,autouserjob4) values ('
+        $result = mysql_query('REPLACE INTO record (recordid,type,chanid,starttime,startdate,endtime,enddate,search,title,subtitle,description,profile,recpriority,category,maxnewest,inactive,maxepisodes,autoexpire,startoffset,endoffset,recgroup,dupmethod,dupin,station,seriesid,programid,autocommflag,findday,findtime,findid,autotranscode,transcoder,tsdefault,autouserjob1,autouserjob2,autouserjob3,autouserjob4,parentid) values ('
                                 .escape($this->recordid, true)             .','
                                 .escape($this->type)                       .','
                                 .escape($this->chanid)                     .','
@@ -283,7 +284,8 @@
                                 .escape($this->autouserjob1)               .','
                                 .escape($this->autouserjob2)               .','
                                 .escape($this->autouserjob3)               .','
-                                .escape($this->autouserjob4)               .')')
+                                .escape($this->autouserjob4)               .','
+                                .escape($this->parentid)                   .')')
             or trigger_error('SQL Error: '.mysql_error(), FATAL);
     // Get the id that was returned
         $recordid = mysql_insert_id();
Index: modules/tv/detail.php
===================================================================
--- modules/tv/detail.php	(revision 9048)
+++ modules/tv/detail.php	(working copy)
@@ -40,13 +40,7 @@
         $schedule = new Schedule(NULL);
 
 // Handle custom search schedules
-    $schedule_note = '';
-    if ($schedule->search && $schedule->search != searchtype_manual) {
-        $schedule_note = t('This program is already scheduled to be recorded via a $1custom search$2.',
-                           '<a href='.root.'tv/schedules/custom/'.$schedule->recordid.'>',
-                           '</a>');
-        unset($schedule);
-    }
+    $schedule_note = ''; // Don't think it's needed; but leaving just in case
 
 // Make sure this is a valid program.  If not, forward the user back to the listings page
     if (!strlen($program->starttime) && !$schedule->recordid) {
@@ -132,6 +126,11 @@
             $schedule->autotranscode = $_POST['autotranscode'] ? 1 : 0;
             $schedule->transcoder    = $_POST['transcoder'];
             $schedule->tsdefault     = $_POST['timestretch'];
+            if($_POST['record'] == rectype_override) {
+                $schedule->parentid  = $schedule->recid;
+                $schedule->search = 0;
+            }
+                    
         // Back up the program type, and save the schedule
             $schedule->save($type);
         }
