A method of operating a first wireless communication device to perform device-to-device, D2D, detection, comprising: obtaining a plurality of discovery message detection results in a time window, the discovery message detection results relating to discovery messages transmitted by a second wireless communication device; and determining a D2D discovery status of the second wireless communication device based on the plurality of discovery message detection results, wherein determining the D2D discovery status of the second wireless communication device comprises determining, based on the one or more discovery message detection results, if a minimum number of discovery messages from the second wireless communication device were detected by the first wireless communication device in a predetermined time period, wherein determining the D2D discovery status of the second wireless communication device is further based on determining if a filtered signal strength value is greater than a minimum filtered signal strength value, the filtered signal strength value determined based on one or more signal strength measurement values, wherein each signal strength measurement value is associated with a different one of the one or more discovery message detection results, wherein the filtered signal strength value is the result of a recursive filtering function including the one or more signal strength measurement values as inputs and the recursive filtering function for the filtered signal strength value, S_FILTER, is S _ FILTER t = 1 − a ∗ S _ FILTER t − 1 + a ∗ S t, where t is the current time, a is a constant between 1 and 0, and S ( t) is a signal strength value for time t. obtaining a plurality of discovery message detection results in a time window, the discovery message detection results relating to discovery messages transmitted by a second wireless communication device; and determining a D2D discovery status of the second wireless communication device based on the plurality of discovery message detection results, wherein determining the D2D discovery status of the second wireless communication device comprises determining, based on the one or more discovery message detection results, if a minimum number of discovery messages from the second wireless communication device were detected by the first wireless communication device in a predetermined time period, wherein determining the D2D discovery status of the second wireless communication device is further based on determining if a filtered signal strength value is greater than a minimum filtered signal strength value, the filtered signal strength value determined based on one or more signal strength measurement values, wherein each signal strength measurement value is associated with a different one of the one or more discovery message detection results, wherein the filtered signal strength value is the result of a recursive filtering function including the one or more signal strength measurement values as inputs and the recursive filtering function for the filtered signal strength value, S_FILTER, is S _ FILTER t = 1 − a ∗ S _ FILTER t − 1 + a ∗ S t, where t is the current time, a is a constant between 1 and 0, and S ( t) is a signal strength value for time t.